如果妳用的是VC 6.0之類的編譯器,當妳編譯完成後,會在壹個名叫Debug的文件夾下看到很多文件,二進制文件就是那個以.obj為後綴的文件。其實這個二進制文件已經是壹個可執行的目標程序(計算機只能識別二進制的)。據我知道,為了保護源代碼,壹般上從目標程序是看不出來源代碼的。目標程序與庫函數和其他目標程序連接後就形成了exe文件(可執行文件)。
妳可以做壹個實驗:
妳寫壹段代碼存在D盤下,
hello.cpp
#include<iostream>
using namespace std;
int main()
{
cout<<"*************"<<endl;
cout<<"Hello!"<<endl;
cout<<"*************"<<endl;
return 0;
}
編譯成功後,在D盤下產生壹個名為Debug的文件夾,裏邊有壹系列以hello命名的文件(後綴不壹樣),找到那個hello.obj。
妳再寫壹串代碼,利用文件操作以二進制形式讀取這個二進制文件中的內容,妳會發現將輸出
**************
hello!
**************
而不是源代碼。
源代碼可以通過打開以.cpp(代碼文件)或以.dsw(工作空間文件)為後綴的文件查看。
當然,網上也有可以直接讀取二進制文件的軟件,妳不妨下載壹個。應該讀取不到源代碼。