none
DLL怎么像 Windows API 那样导出符号 RRS feed

  • 问题

  • windows 导出的符号都是 FindWindow、OpenProcess这种的。而我dll导出的符号确是 _FindWindiow@8、_OpenProcess@12。  请问怎样定义导出函数才能像Windows那样。

    • 已编辑 synmul 2018年7月10日 4:32
    2018年7月10日 4:31

全部回复

  • Hi,

    感谢在MSDN论坛发帖。

    >>windows 导出的符号都是 FindWindow、OpenProcess这种的。而我dll导出的符号确是 _FindWindiow@8、_OpenProcess@12。  请问怎样定义导出函数才能像Windows那样。

    请提供一些详细的代码,你是怎么定义你的到处函数的?

    你可以使用两种方法从DLL导出函数:

    1. 创建模块定义(.def)文件并在构建DLL时使用.def文件。 如果要按顺序而不是按名称从DLL导出函数,请使用此方法。
    2. 在函数的定义中使用关键字__declspec(dllexport)。

    关于更多内容和示例,你可以参考下面的文档。

    https://msdn.microsoft.com/en-us/library/z4zxe9k8.aspx

    希望对你有所帮助。

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 IGabriel 2018年7月20日 7:17
    2018年7月10日 6:26
  • 正如 Baron Bi 所说。

    另外,这种问题也属于Name mangling。建议你看看这方面的技术文档。


    2018年8月28日 7:54