-1
還沒有找到一個,但是有沒有一個開關來排除任何調試數據以及對生成代碼中的本地(自己)函數的明文引用?g ++切換不包含自己的符號函數名稱(和調試數據) - ?
簡單的例子:
void setenv(char* in_str) {
}
...給我的可執行文件,這實在是沒有必要的,除非它是一個解釋性語言可讀的「SETENV」的名字。
也在可執行文件 - 變量的文本名稱,這是更奇怪的。
==========
編輯:
迄今爲止嘗試的Solaris條,GNU條,克++ -O0和-s開關。刪除相關符號的唯一方法是從目標文件(但不是可執行文件)「strip --strip-all」,但不會鏈接。
所以它看起來像理查德C是正確的,這確實需要lib *運行時。
或者是後期綁定到運行時共享庫。 –
在我的情況下,只使用std命名空間,代碼中的符號名稱是自己的本地函數。 –