预备把自己以前的代码整理成库,前辈们指点一二

准备把自己以前的代码整理成库,前辈们指点一二



#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
------解决方案--------------------
引用:
C/C++ code?123456#ifndef EG_DLL_EXPORT#define EG_API __declspec(dllimport)#else#define EG_API __declspec(dllexport)#endif     
我是这样写的。请问extern"C" 要每个函数前面都写吗?


不用每个都写吖。
一般都在头文件写。如下

#ifdef __cplusplus
extern "C"
{
#endif
......
....../*各种函数声明*/
#ifdef __cplusplus
}
#endif