我們有一個運行在嵌入式oOS上的程序。我們通常在輸出二進制文件中嵌入一個版本字符串,用於識別生成二進制文件時包含的所有版本。通常,我們使用的編譯器可以通過創建一個「undefined」符號來確保版本字符串在二進制文件中,然後由我們的版本字符串解析。在gcc中定義鏈接符號
但是,我們現在已經轉移到基於Linux的系統和gcc。
gcc正在從最終的exe中刪除版本字符串。最終的exe是通過鏈接在一堆庫中創建的。每個庫都嵌入了一個版本字符串。
gcc正在刪除版本字符串,因爲沒有任何內容引用該字符串,並且我們已打開-Os優化。
有沒有辦法確保gcc不去掉一串字符串(我們需要嵌入大約5-10個版本字符串)?
謝謝。
嗨,不幸的是,它似乎沒有按照通緝。如前所述,現在保留所有其他不需要的符號。因爲這不是一個主要的問題,因爲它將19k添加到最終的二進制文件中。 – user626201 2011-03-17 06:51:09