C/c++编译时的def文件

来源:互联网 发布:淘宝买机油靠谱吗 编辑:程序博客网 时间:2024/05/16 11:20

即使你根本不使用C++,Microsoft的C编译器也会损害C函数。当你的函数使用__stdcall(WINAPI)调用规则时会出现这种问题。这种调用规则是最流行的一种类型。当使用__stdcall将C函数输出时,Microsoft的编译器就会改变函数的名字,设置一个前导下划线,再加上一个@符号的前缀,后随一个数字,表示作为参数传递给函数的字节数。

若要使用与其他编译器供应商的工具链接的Microsoft的工具创建一个可执行模块,必须告诉Microsoft的编译器输出没有经过改变的函数名。可以用两种方法来进行这项操作。第一种方法是为编程项目建立一个.def文件,并在该.def文件中加上类似下面的EXPORTS节

exports myfun