我们的团队正在考虑从def文件迁移到__declspec(dllexport)宏,因为它必须在*.def
文件中使用修改名称,这是一项繁琐的任务,可以在那里维护那些丑陋的名字。但我们仍然怀疑使用* .def文件而不是__declspec(dllexport)宏进行功能导出会有什么好处。
感谢您的建议!
答案 0 :(得分:1)
根据MSDN: https://msdn.microsoft.com/en-us/library/hyx1zcd3.aspx,有四种导出定义的方法,按推荐顺序列出:
definition
”).DEF文件的优点如下:
.DEF文件的缺点是:
按顺序导出的优点是可以减小导出表的大小。但是,你必须使用序数而不是友好名称。
答案 1 :(得分:-1)
.def文件可以按顺序值(@ 1,@ 2,...)导出,而不是按名称导出。这可以:
它可以避免函数名称被修饰,从而提高了编译器的兼容性(即调用__stdcall和__cdecl的约定差异)。 这是an example在dll中导出未修饰的名称。