3 回答
TA贡献1829条经验 获得超7个赞
看看cout<<endl;
这个是在函数调用里面的 所以理论上上加
家了表示没有返回值 也就是说 加了 这个函数的最后结果 或者中间变量声明的就不再烦传给主函数了。。。
如果你在函数里面加个参数。。K ,k=sqrt(i)
而输出是在主函数里面输出 那么就不能加VOID 前面要加上函数类型 单精度?双精度。。。
TA贡献1775条经验 获得超8个赞
如果是cocos2d
用于声明导入导出函数
__declspec(dllexport) 声明一个导出函数,一般用于dll中
__declspec(dllimport) 声明一个导入函数,一般用于使用某个dll的exe中
导入的就是CC_DLL
将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。
通常它和extern "C" 合用,形式如下:
extern "C"
{
__declspec(dllexport) RETURN_TYPE FUNCTION()
{
}
}
这是由于在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexport) FUNCTION(int,int) 在DLL会被decorate,例如被decorate成为 function_int_int,而且不同的编译器decorate的方法不同,造成了在用GetProcAddress取得FUNCTION地址时的不便,使用extern "C"时,上述的decorate不会发生,因为C没有函数重载,如此一来被extern"C"修饰的函数,就不具备重载能力。
“在 32 位编译器版本中,可以使用__declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。__declspec(dllexport)将导出指令添加到对象文件(即obj文件),若要导出函数,__declspec(dllexport)关键字必须出现在调用约定关键字的左边(如果指定了关键字)。例如:
__declspec(dllexport) void __cdecl Function1(void);
若要导出类中的所有公共数据成员和成员函数,关键字必须出现在类名的左边,如下所示:
class __declspec(dllexport) CExampleExport : public CObject
{ ... class definition ... };
生成 DLL 时,通常创建一个包含正在导出的函数原型和/或类的头文件,并将__declspec(dllexport)添加到头文件中的声明。
若要提高代码的可读性,请为__declspec(dllexport)定义一个宏并对正在导出的每个符号使用该宏:
#define DllExport __declspec( dllexport ) ”
- 3 回答
- 0 关注
- 496 浏览
添加回答
举报