3 回答

ABOUTYOU
TA貢獻1812條經(jīng)驗 獲得超5個贊
采用
g++ test.cpp
相反,因為這是c ++代碼。
或者,如果您確實要使用gcc,請?zhí)砑?lstdc++到命令行,如下所示:
gcc test.cpp -lstdc++
在每種情況下md5針對a.out產(chǎn)生的結(jié)果運行都會顯示出相同的輸出。
但是,是的,g++可能會使您的世界變得更簡單。

波斯汪
TA貢獻1811條經(jīng)驗 獲得超4個贊
該.cpp擴展名導(dǎo)致gcc將您的文件編譯為C ++文件。(請參閱GCC文檔。)
嘗試編譯相同的文件,但將其重命名為具有.c擴展名:
mv test.cpp
gcc test.c
另外,您可以通過傳遞-x c給編譯器來明確指定語言:
gcc -x c -c test.cpp -o test.o
如果您nm test.o在這些C語言版本上運行,您會注意到它___gxx_personality_v0沒有以符號形式列出。
(并且,如果您對用生成的目標(biāo)文件運行相同的命令,則會gcc -c test.cpp -o test.o顯示___gxx_personality_v0符號。)
- 3 回答
- 0 關(guān)注
- 1064 瀏覽
添加回答
舉報
0/150
提交
取消