1. c語言編譯生成的.obj文件解釋下
c語言編譯生成的.obj文件是一種文本文件,程序編譯時生成的中間代碼文件目標文件,一般是程序編譯後的二進制文件,再通過鏈接器和資源文件鏈接就成可執行文件了。OBJ只給出了程序的相對地址,而可執行文件是絕對地址。
obj文件基本結構:OBJ文件不需要任何種文件頭(File Header),盡管經常使用幾行文件信息的注釋作為文件的開頭。
OBJ文件由一行行文本組成,注釋行以符號「#」為開頭,空格和空行可以隨意加到文件中以增加文件的可讀性。有字的行都由一兩個標記字母也就是關鍵字(Keyword)開頭,關鍵字可以說明這一行是什麼樣的數據。
(1)編譯成獨立模塊是obj擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下階段:
1、預處理階段
在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段
編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段
將匯編語言翻譯成機器指令。
2. 為什麼我用易語言靜態編譯出來的是是obj文件,然後該怎麼弄軟體才用能打開
OBJ是C源碼中的一種,出現你的這種情況,先確定易編譯是否被攔截,編譯連接器是否正常。
3. 為什麼我用易語言靜態編譯的文件是obj格式的怎麼解決
修改一下link.ini 文件就可以正常編譯了。
linker="D:\易語言5.11破解版\連接器\bin\link.exe"
; linker用於指定鏈接器文件。可以使用完整路徑或相對路徑(相對於易語言安裝目錄),路徑兩端可以加上半形雙引號。
; 如果不指定此項,默認會根據linker_type嘗試尋找鏈接器路
修改linker=後面的路徑為你的易語言安裝路徑就可以試試。
望採納。
4. 為什麼易語言編譯出來的軟體變成obj文件
你是用易語言靜態編譯的,沒有安裝VC98linker靜態鏈接器,或者靜態鏈接器的設置不對!
5. 請問我用易語言編寫的程序。編出來之後文件後綴變成了.obj。怎麼才能變成可執行文件啊。就是.exe 程序
兩種可能,一個是編譯失敗,所以產生了OBJ文件,一個是鏈接器配置錯誤,導致編譯成了OBJ文件,後者可以在要在 tools\link.ini 中設置鏈接器,把 OBJ文件鏈接成 EXE。
不過還是建議使用正規的程序開發語言來進行程序設計。
6. 為什麼我易語言編譯的軟體的後綴是obj
生成.obj沒有生成exe通常是編譯階段通過,在鏈接階段出現問題,通常是link.ini配置有誤。
如果你是新手,很新很新的那種,建議卸載現在的版本,去西西下載一個5.11破解版。
7. 易語言靜態編譯後怎麼是obj格式
建議不要用易語言,而要用Visual Basic編程語言來編譯。這樣編譯出來的格式就不是OBJ,而是一個正常的可執行文件EXE。
Visual Basic是一種由 Microsoft 公司開發的結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言。從任何標准來說,VB都是世界上使用人數最多的語言——不管是盛贊VB的開發者還是抱怨VB的開發者的數量。它源自於BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接資料庫,或者輕松的創建ActiveX控制項。程序員可以輕松的使用VB提供的組件快速建立一個應用程序。
8. c 語言編譯後產生的obj文件是做什麼的
簡單的說就是目標代碼.
obj文件是單獨的目標文件,它還不能單獨運行.需要把相關的obj文件連接到一起,才能產生可執行文件.
9. 為什麼我的易語言靜態編譯時編出個obj類型的文件
任何
編譯器
都會生成obj文件,稱之為目標代碼文件。該文件通過連接程序(link)生成最後可執行文件(exe)或動態鏈接庫文件(dll)。你可能只進行了
編譯
,還要執行連接才能得到可執行文件或動態鏈接庫文件。
10. 用易語言靜態編譯後在桌面上的是個obj格式是怎麼回事怎麼解決obj格式和文本格式差不多!不會的請繞道
您好!
dbj用VS2010就能打開。
應該是靜態編譯失敗了。
如果你的易語言是5.11破解版的話,運行易目錄的\VC98linker\link.e 進行靜態編譯破解。
②可能是殺毒軟體攔截了易語言,你關閉殺毒軟體,然後靜態編譯的別的目錄。
【望採納】