Tôi đang làm việc trên một máy ảo mà tôi muốn có thể giao tiếp với C. Đi theo cách khác và hiển thị các chức năng máy ảo cho mã C là khá dễ dàng, những gì tôi không thể quấn đầu xung quanh là phơi bày C chức năng cho một máy ảo.Làm cách nào để hiển thị các hàm C cho máy ảo tùy chỉnh?
Tôi muốn để có thể tự động đăng ký chức năng C với các máy ảo như vậy:
vm_register(printf);
Sau đó, trong máy ảo của tôi, đẩy các đối số vào stack, và:
call printf
Vấn đề là không biết có bao nhiêu đối số mà hàm yêu cầu và loại nào, tôi không chắc chắn có thể sử dụng con trỏ hàm.
Có loại con trỏ chức năng chung nào có thể được sử dụng trong trường hợp này không? Ai đó có thể chỉ đạo tôi đi đúng hướng không?
V.M tùy chỉnh Ý tưởng thú vị. Bằng cách phơi bày các hàm, bạn có nghĩa là gọi một D.L.L./Đối tượng được chia sẻ/chức năng Thư viện được chia sẻ hoặc từ thư viện "* .h"? – umlcat