今天做程序需要导出DLL中的一个全局指针,可是导出后只要一使用就会发生access violation,后来在网上找了找文章,原来是之前导入方法存在问题,下面把整个DLL导出导入全局函数的方法整理一下,作为记录。整个文章大部分参考http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/699672_7.html,这篇文章写的很不错,有兴趣的可以看看。
全局变量的导出 方法:
全局变量在DLL中的定义和使用方法与一般的程序设计是一样的。若要导出某全局变量,需要在.def文件的EXPORTS后添加:
变量名 CONSTANT //过时的方法
或
变量名 DATA //VC++提示的新方法
全局变量的导入 及使用 方法:
extern int dllGlobalVar;
printf("%d ", *(int*)dllGlobalVar);
*(int*)dllG