Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: mỗi hàm callback mỗi khác sao?

  1. #1
    Ngày gia nhập
    12 2014
    Bài viết
    30

    Mặc định mỗi hàm callback mỗi khác sao?

    - cho mình hỏi là : hàm callback sẽ không được gọi bởi ứng dụng mà được gọi bởi windows vậy thì windows sẽ truyền tham số cho nó mình thắc mắc mỗi hàm callback mỗi khác sao
    windows có thể truyền tham số chính xác được ( mình thấy mấy hàm khác nhau kiểu của tham số, mình thấy hàm callback có 4 tham số không biết có hàm nào có nhiều
    hoặc ít hơn 4 tham số k nữa/0

  2. #2
    Ngày gia nhập
    05 2012
    Bài viết
    6

    Chuyên môn của mình k hoàn toàn trên window nên k chắc có những hàm callback nào nhưng trong c/c++ có 1 cách định nghĩa các hàm callback (xem trong này stackoverflow.com/questions/142789/what-is-a-callback-in-c-and-how-are-they-implemented). Theo cách viết này bạn có thể dựng các biến chứa địa chỉ của hàm cần gọi (với điều kiện là hàm cần gọi phải có cấu trúc y chang như trong định nghĩa callback). Còn lý do vì sao nó truyền tham số chính xác thì phải dịch ra asm thì sẽ thấy cách nó call hàm từ 1 biến à. Cơ bản nó truyền tham số vào stack (x86) hoặc các thanh ghi lưu trữ (x86-64) gán địa chỉ hàm cần gọi vào 1 thanh ghi sau đó call thanh ghi đó là xong (tất nhiên con chip phải hỗ trợ cách gọi hàm kiểu này )

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn