准备把自己以前的代码整理成库,前辈们指点一二
#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