2012-02-14 25 views
5

Tôi biết nó có vẻ một chút ngu ngốc nhưng là có một cách để chứng minh rằng trên Windows:Làm thế nào tôi có thể chứng minh rằng fread gọi ReadFile và các cuộc gọi fopen CreateFile

  • fopen gọi hàm WINAPI chức năng CreateFile (hoặc CreateFileEx)
  • fread gọi hàm WINAPI chức năng ReadFile (hoặc ReadFileEx)

Nếu có một cách tổng quát hơn để xác định cách một số chức năng thư viện C gọi các chức năng WINAPI, tôi cũng đang hạnh phúc với điều đó như một câu trả lời.

Chúng tôi đang tranh luận và tôi quan tâm đến một số bằng chứng. Tôi chủ yếu quan tâm đến Visual C.

+5

1: đọc mã nguồn crt, 2: sử dụng trình gỡ lỗi, 3: tìm hiểu API Windows và kết luận chỉ có một cách để mở tệp. Đây là những thứ * bạn * phải làm để giành được tranh chấp ngớ ngẩn này. –

+0

Khó tưởng tượng bất kỳ cách nào khác trong đó 'fread' có thể được thực hiện. Hãy hy vọng MS không sử dụng API gốc! –

+0

Họ sẽ sử dụng các API gốc trong xuất khẩu kernel32 .. – Bukes

Trả lời

4

Visual C đi kèm với mã nguồn cho thư viện thời gian chạy C. Điều đó sẽ giải quyết mọi thứ?

+0

vâng, cảm ơn bạn! – INS

2

Chia nhỏ ứng dụng bằng trình gỡ rối của bạn và đặt điểm ngắt trên các chức năng bạn nhắm mục tiêu (chúng được triển khai trong kernel32.dll). Hãy thử ví dụ: bước qua một cuộc gọi fopen. Nếu điểm ngắt của bạn bị trúng, thì fopen gọi CreateFile.

Các vấn đề liên quan