我編譯使用的Turbo C++ 3.0和Borland C++ 5.02編譯器兩個代碼,並發現一些奇怪的事情來了我的鱈魚是這樣的:差異
第一個代碼
void main()
{
}
第二個代碼
#include<iostream.h>
#include<conio.h>
void main()
{
}
我得到了這些結果從他們身上:
- 的Borland C++(第一碼):51KB
- 的Borland C++(第二碼):51KB
- 渦輪C++(第一碼):5.89KB
- 渦輪C++(第一碼):16.3KB
我檢查兩個Borland使用十六進制查看器執行文件,並意識到它們完全相同。
我檢查了第一個代碼在IDA pro
形成這些編譯器和遇到這些圖:
的Turbo C++
的Borland C++
現在我有這些問題,我'd喜歡你回答
1-爲什麼Borland C++編譯文件a當他們中的一個明顯沒有包括另一個包含時,他們是否也是如此?
2 - 爲什麼Boland C++編譯的文件很大? (接近10倍大)以及編譯的內容大小如何?
3 - 當我將第一個代碼提交到this Site時,我可以看到簡單的void main函數的彙編代碼,並且我意識到Borland C++代碼非常相似,但Turbo C++彙編代碼非常複雜並且不一樣,爲什麼?
4-爲什麼使用Turbo C++編譯的這個簡單的代碼創建了很多功能,您可以在它的圖形中看到?
對不起這個很長的問題,但如果你可以澄清這對我來說這將是很棒的我現在很困惑。
使用'tdump.exe'來查看可執行文件中的內容 –
簡而言之:Turbo C++ buggy。但是你使用了優化嗎? –
我不確定我沒有更改任何這些軟件中的編譯設置 –