Khi biên dịch một dll sử dụng __stdcall bên trong studio hình ảnh 2008, các tên hàm được biên dịch bên trong dll là.GCC biên dịch một dll với __stdcall
FunctionName
Mặc dù khi chúng tôi biên dịch dll tương tự sử dụng GCC sử dụng wx-dev-cpp GCC gắn thêm số lượng paramers hàm có, vì vậy tên của chức năng sử dụng Dependency Walker như thế nào.
FunctionName @ numberOfParameters hoặc == FunctionName @ 8
Làm thế nào để bạn nói với trình biên dịch GCC để loại bỏ @nn từ những biểu tượng xuất khẩu trong dll?
Cảm ơn roger vì đã trả lời, hóa ra vấn đề là một nhà phát triển khác đã đặt một tệp DEF vào dự án. Tệp DEF này đã nói với trình liên kết các quy ước đặt tên để sử dụng bên trong DLL. Đây là lý do tại sao chúng tôi đã nhận được một tên thư viện khác nhau ngay cả với cùng một quy ước gọi điện thoại. Giải pháp cho thấy một trong những nhà phát triển của chúng tôi đã xóa WINAPI khỏi tệp tiêu đề khi tạo DLL của riêng mình cho dự án. Điều này làm cho Windows visual studio trở lại với quy ước gọi __cdecl (/ Gd) mặc định của nó. – Chad