sách gpt4 ai đã đi

c++ - 外部 "C"未按预期工作

In lại 作者:行者123 更新时间:2023-11-28 01:09:27 26 4
mua khóa gpt4 Nike

我正在尝试 Hook Win32 API 函数。我正在制作一个 DLL,我想从中导出函数,但我已经在基础上失败了。我的声明如下:

extern "C" __declspec(dllexport) int WINAPI fnTest(void);

但导出的函数名称不是“fnTest”——如我所料——而是“_fnTest@0”。我只能在将函数调用约定声明为 __cdecl 时使其工作,这会导致导出名称“fnTest”,但由于 Win32 调用连接是 WINAPI/__stdcall这不是一个选择。

我正在使用 VS2010。提前致谢。

1 Câu trả lời

该重整是 __stdcall 约定的一部分。由于被调用函数有责任在返回时从堆栈中删除参数,并且从堆栈中删除错误数量的数据会造成灾难性的后果,因此参数占用的字节数只是简单地附加到函数名的“@”之后让链接器捕获潜在的冲突定义错误。

您能具体解释一下,这怎么会造成问题?

关于c++ - 外部 "C"未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172509/

26 4 0
Bài viết được đề xuất: javascript - 如何让 Featherlight Image Gallery 发挥作用?
Bài viết được đề xuất: css - 是否有 CSS 父级选择器?
Bài viết được đề xuất: javascript - 多标签输入字段
Bài viết được đề xuất: c++ - socket 问题
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com