[問題] c++ 編譯出來的程式檔案比較大
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
的大小一樣。
推
12/04 19:59, , 1F
12/04 19:59, 1F
→
12/04 20:02, , 2F
12/04 20:02, 2F
→
12/04 20:03, , 3F
12/04 20:03, 3F
推
12/04 22:33, , 4F
12/04 22:33, 4F
推
12/04 22:40, , 5F
12/04 22:40, 5F
→
12/04 22:40, , 6F
12/04 22:40, 6F
→
12/04 22:41, , 7F
12/04 22:41, 7F
推
12/04 23:08, , 8F
12/04 23:08, 8F
→
12/04 23:08, , 9F
12/04 23:08, 9F
→
12/04 23:09, , 10F
12/04 23:09, 10F
→
12/04 23:09, , 11F
12/04 23:09, 11F
→
12/04 23:09, , 12F
12/04 23:09, 12F
推
12/05 00:35, , 13F
12/05 00:35, 13F
其實我有反組譯看過, 的確是編出不同的組合語言, 只是我看不懂差異點。
ret_str() 用 g++ compiler 編出來的組合語言其實比較短, 但 main 的部份,
c 比較短。
我一直相信只使用和 c 一樣的部份, 用 c++ compiler 的程式碼應該和 c
一樣快, 還是這個例子並不符合這樣的條件。
※ 編輯: descent (114.39.169.73), 12/05/2014 11:06:36
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章