IMO都使該功能僅具有翻譯單元的范圍?!办o態(tài)”和“靜態(tài)內聯”功能有什么區(qū)別?為什么要inline放在頭文件中而不是.c文件中?
3 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
根據我在GCC中的經驗,我知道這一點,static
并且static inline
在編譯器發(fā)出有關未使用功能的警告的方式方面有所不同。更準確地說,當您聲明static
函數且當前轉換單元中未使用該函數時,編譯器會生成有關未使用函數的警告,但可以通過將其更改為來禁止該警告static inline
。
因此,我傾向于認為static
應該在翻譯單元中使用它,并受益于額外的檢查編譯器來查找未使用的函數。并且static inline
應在頭文件中使用,以提供可以內聯的功能(由于缺少外部鏈接)而不會發(fā)出警告。
不幸的是,我找不到這種邏輯的任何證據。即使從GCC文檔中,我也無法得出結論,inline
可以禁止未使用的功能警告。如果有人會共享指向其描述的鏈接,我將不勝感激。
- 3 回答
- 0 關注
- 642 瀏覽
添加回答
舉報
0/150
提交
取消