第三篇:dll函数如何导出和导出序号
第一种方法:
头文件里面写 extern "C" int __declspec(dllexport)
1 //003.h文件 2 #ifndef LIB_H //如果没有定义这个LIB_H 3 #define LIB_H //那么定义 4 extern "C" int __declspec(dllexport) TianPan(int x,int y);//表示此条函数需要导出 5 #endif /*LIB_H*/
第二种方法:
在工程目录里面添加一个.def文件,然后在def文件里面添加导出函数,然后把这个def文件add添加到工程
1 ;注释是用的";" 2 3 ;下面这句可以注释掉,表示是哪个dll 4 LIBRARY 003 5 6 ;这句表示输出,后面的函数名表示输出函数 7 EXPORTS 8 9 ;@后面表示导出函数序号的排列 10 TianPan @ 1
以上两种方法都可以使dll导出函数,让其他的程序调用
注意:
.def中的TianPan @ 1 显示调用代码中的GetProcAddress ( hDll, MAKEINTRESOURCE ( 1 ) )值得留意
它直接通过.def文件中为add函数指定的顺序号访问add函数,具体体现在MAKEINTRESOURCE ( 1 ),MAKEINTRESOURCE是一个通过序号获取函数名的宏,定义在(winuser.h)