回答
當內聯函數,它們不存在於最終的編譯單元,以被稱爲符號函數。當內聯,編譯器代碼直接放入調用者,因此,如果這是內聯:
inline int multiply(int a, int b)
{
return a*b
}
int main()
{
printf("%i", multiply(a,b));
}
內聯乘導致在編譯產品的象徵走開,讓一樣的:
int main()
{
printf("%i", a * b);
}
如果您始終希望該功能在最終產品中顯示爲符號,請刪除內聯。你的編譯器可能有一個開關,可以很容易地在構建中刪除內聯。
是的,那是我決定的。不要直接在線處理。 – 2011-04-26 17:58:59
內聯函數正在內嵌內聯。如果被內聯,則沒有呼叫。他們將被拼接成二進制代碼,以便任何時候「正常」發生呼叫。
標準C(又名C99)有一個定義好的方式來使用函數發射符號。只需在一個編譯單元(.c文件)中將定義(使用inline
)放入.h文件和不帶inline
的聲明(無函數體)即可。
Thaks爲您的答覆。我在vs2005上:(不能使用這個功能,因爲你知道vs2005不支持C99。 – 2011-04-26 20:40:21
首先,請在你的問題中增加這些信息,如果你問了C,你會得到一個關於現在的標準,那麼對於你的特例'inline'本身就是C99的一部分,並沒有出現在C89中,從這個意義上說它是C89的擴展,你的編譯器文檔應該包含這些擴展的信息,通常使用'inline靜態'工作得很好。 – 2011-04-27 06:15:42
- 1. bing map不包含在包
- 2. 包含Typedefs,但不包含函數
- 3. 函數文件中不能包含類文件PHP
- 4. 解析函數和包含文件
- 5. trace wordpress函數和包含文件
- 6. 在javascript函數中包含javascript文件
- 7. 包含文件中的PHP函數
- 8. PHP通過函數包含文件
- 9. 在函數中包含一個文件
- 10. PHP函數傳遞包含文件
- 11. 調用函數vs包含文件
- 12. PHP 5 - 不包含類或函數的包含文件的變量範圍
- 13. 包含文件是否可以從另一個包含文件調用函數?
- 14. Smarty包含不包含文件
- 15. inline-block div包裝寬度= 50%,其中包含一些文字
- 16. C程序找不到包含在頭文件中的函數
- 17. 包含寫入不同文件夾的函數
- 18. 不能從包含的php文件中調用函數
- 19. PDFsharp Ximage不包含包含一個構造函數1參數
- 20. 如何從包含(.inc)文件調用php文件的函數?
- 21. 在函數文件的末尾包含模板PHP文件
- 22. 警告:文件不包含任何toctree的包含文件
- 23. C++如何包含特定文件中的所有函數而不包含該文件?
- 24. 包含str_replace函數?
- 25. 包含Handlebars.js函數
- 26. ReturnURL不包含defaultURL文件
- 27. javascript不包含文件?
- 28. 不能包含頭文件?
- 29. 找不到包含文件
- 30. JAR不包含根文件
您的問題缺少使用的平臺和編譯器。 – 0xC0000022L 2011-04-26 17:12:42