4 回答
TA貢獻1825條經驗 獲得超4個贊
看看cout<<endl;
這個是在函數調用里面的 所以理論上上加
家了表示沒有返回值 也就是說 加了 這個函數的最后結果 或者中間變量聲明的就不再煩傳給主函數了。。。
如果你在函數里面加個參數。。K ,k=sqrt(i)
而輸出是在主函數里面輸出 那么就不能加VOID 前面要加上函數類型 單精度?雙精度。。。
TA貢獻1821條經驗 獲得超5個贊
如果是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 ) ”
- 4 回答
- 0 關注
- 1343 瀏覽
添加回答
舉報
