读书人

预备把自己以前的代码整理成库前辈们

发布时间: 2013-01-11 11:57:35 作者: rapoo

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




#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

读书人网 >C++

热点推荐