PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] c++ 編譯出來的程式檔案比較大
作者:
descent
(「雄辯是銀,沉默是金」)
2014-12-04 19:50:04
typedef struct Str_
{
char c;
int a;
}Str;
Str ret_str()
{
Str str;
str.c='a';
str.a=1;
return str;
}
int main(int argc, char *argv[])
{
Str s;
s = ret_str();
s.c='c';
s.a=5;
return 0;
}
descent@debianlinux:return_struct$ gcc rs.c -o rs
descent@debianlinux:return_struct$ g++ rs.c -o rscpp
descent@debianlinux:return_struct$ ls -l rs rscpp
-rwxr-xr-x 1 descent descent 4912 Dec 4 19:47 rs
-rwxr-xr-x 1 descent descent 5128 Dec 4 19:47 rscpp
我一直以為這樣的程式用 c++ compiler 編出來應該要和 c compiler
的大小一樣。
作者: LiloHuang (十年一刻)
2014-12-04 19:59:00
用 nm 比較看看,CPP的版本應該會多出不少東西 XD如果整個程式碼用 extern "C" {} 包住應該會很接近才是我想 C++ 編譯器應該會多做 name mangling 的部分
作者:
chchwy
(mat)
2014-12-04 22:33:00
c++標準庫比C大多了.
作者:
littleshan
(我要加入劍道社!)
2014-12-04 22:40:00
因為g++會看副檔名,看到.c還是會用c compiler去編唯一的差別是g++會多連結libstdc++你用 gcc rs.c -o rs -lstdc++ 出來大小就一樣了
作者: LiloHuang (十年一刻)
2014-12-04 23:08:00
我記得 g++ 的文件有寫,預設都會用 C++ compiler ...g++ is a program that calls GCC and treats `.c',`.h' and `.i' files as C++ source files instead ofC source files unless -x is used.
http://goo.gl/9QRrzC
官方文件出處
作者:
littleshan
(我要加入劍道社!)
2014-12-05 00:35:00
噢,那是我弄錯了
繼續閱讀
[問題] class裡的struct
kenn2001
[問題] OpenGL畫布和WindowForm整合成同一介面
simonzhao219
[問題] C++文件內的中文字體是亂碼..
BIAO
[問題] template類別中隱匿類別的靜態變數初始化
janyfor
[分享] 有的沒的(誒)
Killercat
[問題] opencv findHomography
a462428
[分享] 雙重指標小應用
jacky1989
[討論] 面試時碰到的幾個C語言問題
caxz
[問題] C++有方法可以印出當下執行程式名稱嗎?
smilekerker
[問題] function的傳值&回傳值副本問題
anoymouse
Links
booklink
Contact Us: admin [ a t ] ucptt.com