预备把自己以前的代码整理成库,前辈们指点一二
准备把自己以前的代码整理成库,前辈们指点一二
1.我是该选择 extern"C"还是extern"C++"?
2.extern"C"这个指令在这里到底有什么用,需要在每个调用约定__declspec(dllexport) 前都加吗?
------解决方案--------------------
没遇过有
extern"C++" 这种用法啊。
c文件实现的函数
在c++调用 要加extern"C"
如果想c文件调用 c++的函数
必须在C++文件的函数实现前加 extern"C"
------解决方案--------------------
用Extern "c"
typedef _declspec(dllexport) EXPORT
------解决方案--------------------
不用每个都写吖。
一般都在头文件写。如下
#ifndef FILEIO_H
#define FILEIO_H
#include<stdio.h>
#include<io.h>
#include"EGDef.h"
typedef EG::byte4 TagType;
namespace EG{
extern "C++"__declspec(dllexport) int LoadToBuffer(const char* FileName,int offset,TagType FTTag);
extern "C++"__declspec(dllexport) int a();
extern "C++"__declspec(dllexport) int b();
}
1.我是该选择 extern"C"还是extern"C++"?
2.extern"C"这个指令在这里到底有什么用,需要在每个调用约定__declspec(dllexport) 前都加吗?
c++
库
手写
------解决方案--------------------
没遇过有
extern"C++" 这种用法啊。
c文件实现的函数
在c++调用 要加extern"C"
如果想c文件调用 c++的函数
必须在C++文件的函数实现前加 extern"C"
------解决方案--------------------
用Extern "c"
typedef _declspec(dllexport) EXPORT
------解决方案--------------------
不用每个都写吖。
一般都在头文件写。如下
#ifdef __cplusplus
extern "C"
{
#endif
......
....../*各种函数声明*/
#ifdef __cplusplus
}
#endif