如果函數定義不可用,並且只有函數原型出現在頭文件中,那麼g ++編譯器不會給出任何錯誤。但在鏈接過程中,g ++鏈接器將識別錯誤並將「未定義的引用」指向相應的fn。我不在乎定義。我只是想獲得二進制圖像,每當相應的fn從該圖像調用,那麼只有我想崩潰。我可以知道鏈接器標誌來壓制這個「未定義的引用」鏈接器錯誤嗎?在VC++中,有一個叫/ FORCE的選項。有沒有類似的標誌?如何避免g ++鏈接器錯誤「undefined reference」
1
A
回答
1
這是完全不確定的行爲,但如果你想有一個崩潰...
如果你有一個未定義的符號,如功能void h()
那麼它的名字將是_Z1hv
,所以如果你定義一個符號,名稱和外部鏈接就會發現,即使類型錯誤:
int _Z1hv = 0;
void h();
int main()
{
h();
}
這將鏈接,但在運行時墜毀因爲調用h()
將嘗試「運行」功能在整數的地址變量。
這樣做是錯誤的,噁心和殺死小貓。
+0
感謝您的關注。我的事情,你以一種錯誤的方式理解我的懷疑。我正在尋找gcc/g ++鏈接器標誌來抑制錯誤「未定義的參考」。 – siva 2012-08-30 15:53:44
+0
你沒有一個「懷疑」你有問題。 「懷疑」並不意味着同樣的事情。無論如何,沒有這樣的可執行文件的選項。 – 2012-09-09 22:04:15
相關問題
- 1. 鏈接器錯誤undefined reference C++
- 2. QMediaPlayer undefined-reference鏈接器錯誤
- 3. gcc鏈接器錯誤:undefined reference to __security_cookie
- 4. CUDA C++鏈接錯誤undefined reference threadIdx.x
- 5. g ++鏈接器錯誤:undefined參考
- 6. 鏈接時間「undefined reference to」錯誤
- 7. 「undefined reference」error with g ++
- 8. AngelScript G ++鏈接器錯誤
- 9. Fedora上的gcc鏈接器錯誤:undefined reference
- 10. 如何避免鏈接錯誤
- 11. Flex和g ++的鏈接器錯誤?
- 12. iostream - 鏈接器錯誤(使用g ++)
- 13. 模板錯誤:undefined reference
- 14. 在C++應用程序中使用libgrib2c,鏈接器錯誤「Undefined reference to ...」
- 15. QtOpenCl「undefined reference」出錯
- 16. SystemC驗證構建錯誤'undefined reference to ..'
- 17. 在編譯期間關於boost boost靜態庫的鏈接錯誤「undefined reference」
- 18. turboC++中的鏈接器錯誤:undefined symbol
- 19. 如何避免多重定義鏈接錯誤?
- 20. Makefile鏈接錯誤:undefined主
- 21. 使用FLTK和g ++獲取很多錯誤消息,比如「undefined reference to ...」
- 22. 鏈接檢查器;如何避免誤報
- 23. C++鏈接器錯誤 - 'undefined reference'to not inline defined函數
- 24. Lapack undefined reference
- 25. 交叉g ++編譯器鏈接器錯誤
- 26. 如何避免因爲React-Native中的undefined而導致錯誤
- 27. 如何避免此錯誤?
- 28. 如何避免錯誤
- 29. g ++中的C++鏈接錯誤
- 30. 「Undefined reference to _ms_vsnprintf」
對於未定義的符號而言,您預期會發生什麼? – Flexo 2012-08-17 11:14:09
感謝您的關注。如果函數以外的符號顯示相同的弱符號行爲,那將是非常好的。但它不是強制性的。 – siva 2012-08-22 06:25:42