根據Mac OS X ABI Mach-O File Format Reference,__DATA,__const
保存了已初始化的可重定位常數變量。我探討了一下,它看起來像gcc的地方初始化const結構和數組在__DATA, __const
。但爲什麼不是__TEXT,__const
?gcc:__DATA,__ const vs __TEXT,__ const
Koi8rModel和CI_nsJSCID,例如,是初始化const結構,而AlignStrings是一個數組。
nm -m MinefieldNoPic.app/Contents/MacOS/firefox-bin |grep Koi8rModel
000000010156ce80 (__DATA,__const) non-external _Koi8rModel
nm -m MinefieldNoPic.app/Contents/MacOS/firefox-bin |grep CI_nsJSCID
0000000101441060 (__DATA,__const) non-external __ZL10CI_nsJSCID
nm -m MinefieldNoPic.app/Contents/MacOS/firefox-bin |grep AlignStrings
000000010154f8c0 (__DATA,__const) non-external __ZL13sAlignStrings
不完全正確,不可重定位的初始化數據實際值屬於__TEXT,__const段。 http://developer.apple.com/mac/library/DOCUMENTATION/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/TP40000895-CH248-95908 – hirschhornsalz 2009-12-01 13:04:24