我試圖處理納米的輸出或readelf -s上的可執行文件。但是,我在輸出中區分靜態函數時遇到問題。 以下是我與合作: test.c的 static int foo() {
int x = 6;
}
main() {}
other.c static int foo() {
int x = 5;
}
我編譯這些像這樣: gcc -o test test.c othe
我在編譯器設計過程中讀到掃描的輸出是一對序列(符號表中的符號代碼,符號位置)。我對「職位」部分的含義有點困惑。 當符號表被表示爲可以使用索引(例如數組)來訪問元素的結構時,「位置」是清楚的,這意味着數組中的第1個,第2個,第99個元素。 例如,對於源代碼: if (a == b) a = a + c;
的掃描的輸出將是流:(...,(ID,1),...,(ID,2),... ,(id,3))