我在Ubuntu的15.10 64爲什麼系統加載程序在讀取/執行段加載字符串?
char *glob = "hello strings"
void main() {
}
編譯這個簡單程序,並使用gdb的我能找到的「你好弦」都位於
讀/ .text段執行段。
我已經知道,包含在ELF頭的一些字符串位於代碼段
但爲什麼用戶定義的字符串位於與同一段程序代碼?
我也試圖將字符串的大小放大到0x1000的檢查
無論是編譯器優化,以找到與代碼部分小型字符串,但
它們也位於同一段代碼。
這對我來說很有意思,因爲直觀的字符串應該是可讀的而不是可執行的。