當前位置:首頁 » 編程軟體 » 編譯後出現obj

編譯後出現obj

發布時間: 2022-02-14 23:21:29

A. c 語言編譯後產生的obj文件是做什麼的

obj文件是編輯好的文本文件進行成功編譯後生成的目標程序

B. c語言源程序文件經過編譯連接之後生成一個後綴為_____的文件。是.obj還是.exe

看來出題人的眼光很窄,.obj、.exe是PC機的特色,一般教科書上說編譯後生成.obj,連接後為.exe。

C. 編程編譯時生成的obj文件和exe文件本質上有什麼區別

本質上都是2進制代碼,
但是
obj
沒有經過鏈接的重定位,不是可執行的代碼。
而且一個obj對應一個cpp編譯單元,裡面的外部符號都沒解析出來。
比如a.cpp
通過b.h使用了一個
b.cpp里定義的函數
func();
那麼a.cpp生成的obj裡面只會有func()
這個函數名的調用而已,也就是一個(對a.obj來說的)外部符號。
只有經過鏈接成為了.exe,
相應於a.obj裡面的func()的調用才會更新成實際的b.obj裡面的func()的實際地址。
對全局變數也是同樣的道理。

D. linux 中對C文件編輯後為什麼不產生OBJ文件,或產生的OBJ文件到哪裡了

如果你不指定編譯成什麼文件,gcc默認一步到位,直接生成可執行文件
你可以試試以下幾個參數

-c

只激活預處理,編譯,和匯編,也就是他只把程序做成obj文件

例子用法:

gcc -c hello.c

他將生成.o的obj文件

-S

只激活預處理和編譯,就是指把文件編譯成為匯編代碼。

例子用法

gcc -S hello.c

他將生成.s的匯編代碼,你可以用文本編輯器察看

-E

只激活預處理,這個不生成文件,你需要把它重定向到一個輸出文件裡面.

例子用法:

gcc -E hello.c > pianoapan.txt

gcc -E hello.c | more

-o

制定目標名稱,預設的時候,gcc 編譯出來的文件是a.out,

例子用法

gcc -o hello.exe hello.c (哦,windows用習慣了)

gcc -o hello.asm -S hello.c

E. C語言編譯產生的.OBJ文件和匯編編譯產生的.OBJ文件,如何連接

一同學習。。。

Trubo C的命令行編譯連接
所謂命令行編譯,是指在dos下,調用Trubo C的tcc.exe程序.來完成對turbo C源程序的編譯連接工作.當選擇對後綴為*.asm的匯編程序文件編譯時,tcc還要調用TASM後才能對後綴為.asm的文件進行編譯,這種方式適合於c程序與匯編語言混合編程的編譯連接,當c程序嵌入匯編指令時,也必須用此方法編譯連接。
命令行編譯的格式為:
tcc [選項1 選項2 ...]文件名1 文件名2...其中選項是指對後面給出的文件進行連接時的選擇項,可選的常用選擇項如下所示:每個選項前都帶有"-"號,且大小寫是區分的。文件名是指源文件.c或目標文件.obj或庫文件.lib當不指定只編譯不連接時,tcc將完成編譯和連接兩個步驟,對.lib庫只進行形式上的連接,標准庫用戶不用進行連接。
例如:
tcc -ib:\include -lb:\lib -etest start.c body.obj myc當執行該命令時,表示將start.c源文件和body.obj目標文件及myc.c(命令行中該文件無後綴),分別進行編譯(對body.obj文件不再編譯),然後連接生成名為test的執行文件test.exe(由-test給出).
-ib:\include 表示包含文件的路徑是b:\include
-ib:\lib 表示庫文件的路徑是b:\lib
又例如:
tcc -ms -efile -lc:\tc\lib file1 file2.obj graphics.lib
其中-ms表示選擇小內存模式進行編譯,它也是turbo c的預設編譯模式,將file1進行編譯,然後和file2.obj 及graphics.lib進行連接.生成file.exe的可執行文件.其中graphcis.lib庫的路徑為c:\tc\lib,即意為在c:\tc\lib目錄下去尋找graphics.lib文件.當進行混合編程時,如果已有匯編程序s3.asm其命令行可寫為
tcc ic:\tc\include -lc:\tc\lib -mm s1 s2 s3.asm mylib.lib
表示用中模式(-mm)編譯源文件s1.c和s2.c,調用TASM對s3.asm進行編譯,然後連接生成可執行文件s1.exe,編譯時,到c:\tc\include目錄中去找包含文件,到
c:\tc\lib目錄中去找庫文件mylib.lib.
---------------------------------------
http://topic.csdn.net/t/20010308/22/81569.html
http://www.down22.org/plus/view.php?aid=15882

比VC難用。。。

F. 易語言中的link文件沒錯 但靜態編譯後 出現obj文件 怎麼辦

應該是許可權問題引起的,如果沒有沒有提示編譯失敗的話,直接刪除obj文件就行了

G. 編譯後得到一個.obj文件

編譯後得到obj很正常啊,make後就是obj,link後才會得到exe

H. 如何打開C語言編譯出的OBJ格式文件

OBJ 文件是二進制的文件,代碼已經是機器碼了,可用反匯編程序打開試試,不過看到的是匯編語言的程序若你會用debug,可以用它來試試

I. obj文件是怎麼產生的

程序編譯後的二進制文件,目標文件,編譯時就產生了。

J. VC++ 6.0 編c語言 編譯後出現yxy.obj - 1 error(s), 0 warning(s) 是怎麼回事啊

方法1:
啟動VC時不要用圖形界面,通過在命令提示符下輸入:Msdev /useenv運行(注意啦/前面有個空格).它會強制使系統環境變數全高設置成正確值.而且,只需要使用一次這樣的方式運行VC,以後再次通過雙擊圖標的方式啟動也不會有問題。

方法2:
使用你的VC安裝盤修復一下。

方法3:
在VC中點擊「Tools」—>「Option」—>「Directories」,發現路徑有誤,重新設置「Excutable Fils,Include Files,Library Files,Source Files」的路徑。

要是顯示「找不到mspdb60.dll」,去能正常運行VC++的電腦中搜索mspdb60.dll文件,拷貝到你的機器上Microsoft Visual Studio\Common\MSDev98\Bin下。缺失其他文件類似操作O(∩_∩)O。

方法4:
可能很多人在安裝VC 6.0後有過點擊「Compile」或者「Build」後被出現的
「Compiling... ,Error spawning cl.exe」錯誤提示給郁悶過。很多人的
選擇是重裝,實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是VC使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。

因此問題可以按照以下方法解決:打開vc界面 點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable Fils、Include Files、
Library Files、Source Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。

如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT

include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC

如果你裝在其他盤里,則仿照其路徑變通就行(我就是裝在D盤)。
關鍵是microsoft visual studio\ 後面的東西要相同。
本人深受其害,重裝多次不管用,上面中文部分為高手借鑒,
下面路徑為本人深思所得,終於解決。與君分享。

熱點內容
單片機編譯器和驅動 發布:2025-01-13 13:31:33 瀏覽:439
tis伺服器怎麼進pe 發布:2025-01-13 13:31:02 瀏覽:276
android線程與線程通信 發布:2025-01-13 13:30:27 瀏覽:38
FTP伺服器本地策略 發布:2025-01-13 13:20:47 瀏覽:485
地下城堡2掛機腳本 發布:2025-01-13 13:20:44 瀏覽:205
web雲伺服器配置 發布:2025-01-13 13:19:54 瀏覽:459
小康密碼是多少 發布:2025-01-13 13:19:13 瀏覽:41
javafile類 發布:2025-01-13 13:19:08 瀏覽:83
c語言求逆 發布:2025-01-13 13:14:43 瀏覽:929
中控大屏怎麼看配置 發布:2025-01-13 13:11:33 瀏覽:912