美好的一天!我正在努力尋找很長一段時間的決定。嘗試從編譯的文件中查找全局變量。程序無法區分常量和全局變量。
我的問題是:
例如,我有2個cpp文件,其中的一個含有
const std::string DICTIONARY_DEFAULT = "blah";
const std::string ADDTODICTIONARY_DEFAULT = "blah";
const std::string BUTTONS = "blah";
,第二個與
static int x1;
static int NewY1, NewY2, NewX1, NewX2;
兩個片段是在全球變量部分。我需要打印全局靜態變量(例如),但忽略常量。在nm輸出中,它們看起來完全相同(每種情況都是b型,這意味着未初始化的本地示波器符號)。有沒有什麼辦法可以自動使用linux公用程序(grep,regexps等等)自動分開這些情況?
MY爲了更好地理解任務:
有一個在C++程序,主要任務是找到並收回全局變量列表。 輸入數據看起來像帶有大量.cpp文件的檔案。每個.cpp文件在C++中都是語法正確的程序(它必須使用編譯器GNU C++和Microsoft Visual C++成功編譯)。 對於從存檔每個文件我都必須在獨立的字符串輸出文件的名稱和全局變量的例子中的列表,如:
輸出數據:
000000.cpp ancestor ansv cost graph M N p qr query u
000001.cpp
000002.cpp
000003.cpp
000004.cpp
000005.cpp
000006.cpp
000007.cpp edge tree
你想解析一個CPP文件或編譯的庫嗎?在第一種情況下,您需要一個簡單的C++解析器(許多IDE已經有一個可以查看開源IDE的源代碼,如Code :: blocks)。無論如何,如果你只需要這樣做,不應該很難讓自己的解析器。 – GameDeveloper