项目工作需要使用vs2013编译器的C语言调用C++的代码,通过学习相关调用和代码规范,在此做一个简单的记录。
需要注意的点有:
1.需要编译两层库,第一层库由C++源程序组成,对接口进行封装,将参数部分以基本数据类型和void*型进行传输。第二层库由C语言组成封装接口,尤其在头文件中不能出现C++的相关代码和特性表现,否则会导致C部分编译不过。
2.
#define YY_DLL
#ifdef YY_DLL
#define YY_DLL __declspec(dllexport)
#endif
定义了这一部分后可以在生成动态库时,同时生成.lib和.dll文件,否则会只生成.dll或.lib文件。