摘要: 转自http://www.cppblog.com/amyvmiwei/archive/2008/01/02/40203.htmlDLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明;另外一种方式是采用模块定义(.def) 文件声明,.def文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。 首先创建 一个DLL程序,.cpp中int __stdcall Add(int numa, int numb){return (numa + numb);}int __stdcall Sub(int numa, int numb){ 阅读全文
posted @ 2013-08-14 18:57 宁静世界 阅读(3293) 评论(0) 推荐(2) 编辑
摘要: 今天开始搭建标准接口工程dll文件,在输出的过程中会出现这样的问题:如图所示,原本vs中定义的函数名已发生变化解决方法:(施哥传授)1、手动在工程目录-->源文件目录下创建.def文件,名称与工程名保持一致。2、打开VS,工程-->添加现有项,添加刚才手动创建的.def文件。打开.def文件,编辑格式如下,这样同时也就代替了原本头文件中“#define DLL_DECLARATION __declspec(dllexport)”部分的功能。3、打开VS的项目菜单栏-->项目属性-->连接器-->输入-->模块定义文件-->选择创建的.def文件然后试一 阅读全文
posted @ 2013-08-14 17:30 宁静世界 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1、拼写错误 - DEVINFO抄成了VERSION,部分函数复制粘贴导致丢落分号结束符。2、结构体定义位置位于调用其的函数的后面,导致部分函数报找不到的错。3、对C语言及接口开发不熟悉,导致未知性错误,如系统已定义的数据类型无需重复定义。//typedef UINT8 BYTE;//typedef UINT8 CHAR;//typedef INT16 SHORT;//typedef UINT16 USHORT;//typedef INT32 LONG;//typedef UINT32 ULONG;//typedef UINT32 UINT;//typedef UIN... 阅读全文
posted @ 2013-08-14 16:30 宁静世界 阅读(165) 评论(0) 推荐(0) 编辑