1.要把C写成扩展的形式 ex.c文件int __declspec(dllexport) sum(int a,int b){ return a+b;}2.把C代码编译成动态库(*.dll 或 *.so)C:\>gcc -O -shared -o ex.dll ex.c3.把 ex.dll 拷贝到数据...
分类:
数据库 时间:
2015-10-29 17:48:19
阅读次数:
277
此程序有3个文件,分别为 export.h 、export.c 、main.cexport.h 文件内容/*此头很有必要,别人在调用的时候知道有哪些方法*/#ifdef BUILD_DLL#define EXPORT __declspec(dllexport)#else#define EXPORT ...
由于DLL的出现是针对C语言的,本身对C++的支持不够好。所以如何从DLL中导出C++的类作为DLL的API的一部分就成了问题。我试了一下class __declspec(dllexport) Foo这种做法是可行的。并且DEF文件不支持导出C++类(https://msdn.microsoft.c...
分类:
编程语言 时间:
2015-10-01 09:14:16
阅读次数:
301
__declspec(dllexport)__declspec(dllexport) 将一个函数声名为导出函数,就是说这个函数要被包含她的程序之外的程序调用。extern "C" 指示编译器用C语言方法给函数命名。 在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexp...
分类:
其他好文 时间:
2015-09-18 15:26:41
阅读次数:
140
原想是不在DLL中使用.def文件的,直接在需要导出的函数前加__declspec(dllexport)修饰.但在是要导出STDAPI __declspec(dllexport) DllGetClassObject的时候,就提示"warning C4518: “__declspec(dllexpor...
分类:
其他好文 时间:
2015-09-14 01:49:39
阅读次数:
324
无论调用win32.dll还是mfc.dll基本过程都是一样的下面以CALLmfcdll的C#项目调用VC++编写的MFCDLL项目为例1、在MFCDLL.h中加上extern "C" __declspec(dllexport) int add(int x,int y);//导出函数2、在MFCDL...
创建项目:
项目为win32项目,注意不是控制台,然后在设置处选上DLL并勾上“导出项目”,见下图
开始写c++:
把和项目同名的.h文件和.cpp文件清空,添加如下代码://在头文件中添加
#ifdef WIN32PROJECT1_EXPORTS
#define WIN32PROJECT1_API __declspec(dllexport)
#else
#define WIN32PR...
分类:
编程语言 时间:
2015-08-30 01:02:58
阅读次数:
197
2011.10.6烛秋 http://www.cnblogs.com/cswuyg/archive/2011/10/06/DLL2.html一、导出类的简单方式这种方式是比较简单的,同时也是不建议采用的不合适方式。只需要在导出类加上__declspec(dllexport),就可以实现导出类。对象空...
分类:
其他好文 时间:
2015-08-17 23:37:14
阅读次数:
161
#ifdef GLOBE_20150806
#define GLOBE_EXPIMP __declspec(dllexport)
#else
#define GLOBE_EXPIMP __declspec(dllimport)
#endif
GLOBE_EXPIMP extern std::string WideCharToMultiChar(std::wstring str);//宽字...
分类:
其他好文 时间:
2015-08-07 11:07:29
阅读次数:
169
#include #include extern "C" __declspec(dllexport)int TCharParm(char* in,int len,char* out){ memset(out,0,4); memcpy(out,in,len); return 0;}extern "C"...