vc++ DLL
文章平均质量分 88
EffortForever
一只特立独行的猫。
展开
-
vc++ DLL开发小结
DLL开发总结一概论 DLL(Dynamic Linkable Library),你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量,函数。 静态库和动态库都是共享代码的方式,它们的区别请参见我的上一篇博文。DLL的编制与具体的变成语言及编译器无关只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调原创 2015-08-30 16:29:14 · 2018 阅读 · 1 评论 -
__stdcall,__cdcel,extern c 和导出函数名
无论c或c++都会对导出函数改名或不改名,无论你是静态还是动态调用一个导出函数,都可能碰上改名后导致的调用失败(甚至可能是调用约定不同而导致清理堆栈出错,造成崩溃),下面分析一下改名和调用约定之间的关系。 一.先说extern c。 其含义是指,按c的方式编译代码。在vs7及以后的vs中,有编译选项可以直接选择“编译为:c代码”(在工程属性----》c/c+转载 2015-11-12 20:56:40 · 1749 阅读 · 0 评论 -
windgb分析dump文件
现实的开发中可能会出现,动态库dll或者exe崩溃的情况,并且也生成了dump文件,但是由于符号文件pdb文件没有保留,所以通过windbg的!analyze -v是调试不出具体的dump信息的。如上图所示,通过这个栈信息时看不出问题出在哪里的必须加载好可执行程序或者dll的符号文件才行。如果当时的代码还保留着,那就不用担心了。直接重新编译一下原先的代码,并将用Ctrl+S编辑wind原创 2016-01-26 22:17:29 · 2603 阅读 · 0 评论