0
在export.def文件一个可以把这样的诗句:导出功能
LIBRARY plug
EXPORTS
funcName
main=funcName
什么是这样的方式导出功能的效果?它是否导出属于同一个函数的两个函数名?还是只是出口功能,给它另一个名字?
在export.def文件一个可以把这样的诗句:导出功能
LIBRARY plug
EXPORTS
funcName
main=funcName
什么是这样的方式导出功能的效果?它是否导出属于同一个函数的两个函数名?还是只是出口功能,给它另一个名字?
根据MSDN:
出口关键字可以是在同一行上如前面行上的第一个定义或 。 .def文件可以包含一个或多个EXPORTS 语句。
语法出口的定义是:
entryname[=internalname] [@ordinal [NONAME]] [PRIVATE] [DATA]
EntryName是$,你要导出的函数或变量名。 这是必填项。如果您导出的名称与 DLL中的名称不同,请在带有内部名称的DLL中指定导出名称。对于 例如,如果你的DLL导出的函数,func1的(),你希望它是作为FUNC2 (),应指定:
EXPORTS func2=func1
我没有意识到DEF文件仍在使用。我认为它们被大量弃用,并且非常沮丧地使用它们。 –
您可以发表一个链接,告诉它为什么被弃用?找不到与Google相关的任何内容。 – Vadim
模块定义文件不被弃用。它们是可选的,因为您可以使用__declspec(dllexport)和链接器开关完成大多数事情。但是你可以在没有dllexport的情况下创建一个导出别名(这就是这个问题的关键),你也不能指定序号(有时是二进制兼容性所必需的)。 .def文件将你需要了解的DLLs配置信息放在一个地方(对源代码管理有用)。否则,你必须通过项目文件或makefile(用于链接器选项)和源文件(用于dllexports)进行探索。 –