❶ 一個VS項目都生成些什麼文件啊
我也是在別的地方看見的---hxm212800
Bin 目錄用來存放編譯的結果,bin是二進制binrary的英文縮寫,因為最初C編譯的程序文件都是二進制文件,它有Debug和Release兩個版本,分別對應的文件夾為bin/Debug和bin/Release,這個文件夾是默認的輸出路徑,我們可以通過:項目屬性—>配置屬性—>輸出路徑來修改。
obj是object的縮寫,用於存放編譯過程中生成的中間臨時文件。其中都有debug和release兩個子目錄,分別對應調試版本和發行版本,在.NET中,編譯是分模塊進行的,編譯整個完成後會合並為一個.DLL或.EXE保存到bin目錄下。因為每次編譯時默認都是採用增量編譯,即只重新編譯改變了的模塊,obj保存每個模塊的編譯結果,用來加快編譯速度。是否採用增量編譯,可以通過:項目屬性—>配置屬性—>高級—>增量編譯來設置。
Properties文件夾 定義你程序集的屬性 項目屬性文件夾 一般只有一個 AssemblyInfo.cs 類文件,用於保存程序集的信息,如名稱,版本等,這些信息一般與項目屬性面板中的數據對應,不需要手動編寫。
.cs 類文件。源代碼都寫在這里,主要就看這里的代碼。
.resx 資源文件,一些資源存放在這里,一般不需要看。
.csproj C#項目文件,用VS打開這個文件就可以直接打開這個項目,自動生成,不需要看。
.csproj.user 是一個配置文件,自動生成的,會記錄項目生成路徑、項目啟動程序等信息。也不需要看。
.Designer.cs 設計文件,自動生成,不需要看。
.aspx 是網頁文件,HTML代碼寫在這裡面。
sln:在開發環境中使用的解決方案文件。它將一個或多個項目的所有元素組織到單個的解決方案中。此文件存儲在父項目目錄中.解決方案文件,他是一個或多個.proj(項目)的集合
*.sln:(Visual Studio.Solution) 通過為環境提供對項目、項目項和解決方案項在磁碟上位置的引用,可將它們組織到解決方案中。
比如是生成Debug模式,還是Release模式,是通用CPU還是專用的等
編譯和運行直接按F5,至於調試按F9插入斷電,F10整行執行,F5,F9,F10配合使用
整個項目後綴文件的說明!
❷ C語言程序編譯後產生哪些類型的文件這些文件的作用是什麼
1、以GCC編譯器為例,可以分為四步。
第一步是預處理,包括語法檢查等工作。
gcc
-P
abc.c
第二步由源程序生產匯編語言代碼。
gcc
-S
abc.c
會生成abc.s文件,這個文件里就是匯編代碼。
第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。
gcc
-c
abc.c
會生成abc.o
第四步連接器從目標代碼生成可執行文件。
gcc
abc.o
2、目標代碼包括機器碼和符號表(函數及變數名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變數名),將幾個目標代碼合成可執行文件。
❸ C語言中編譯 生成 調試 測試 運行各是什麼意思有什麼區別
C語言中編譯 生成 調試 測試 運行的區別如下:
區別一:
從編譯方面來看:
編譯依賴於編譯器,英文是compile, vc中這一過程是將源代碼轉換成目標文件,如:obj文件,rc文件等。
區別二:
從生成方面來看:
生成指的是連接的過程,英文是build,依賴於鏈接器。vc中在這一階段將所有的目標文件和所有需要用到的組件組合成一個整體,例如需要生成的是windows系統下的PE可執行文件,鏈接器會依照特定格式將目標文件組合,最後生成PE格式的,exe或dll文件。
區別三:
從調試方面來看:
調試是所有或部分代碼編寫完成後,讓程序在調試器中運行,用這種手段對程序進行分析,找出並修正潛在問題。
區別四:
從運行方面來看:
運行就是讓程序在系統中運行。
C語言的介紹:
C語言是目前流行的通用程序設計語言,是計算機專業人員和計算機愛好者開發軟體的首選開發工具。C語言源程序必須經過某種編譯工具翻譯成為目標機器語言程序才能夠在計算機上執行。
然而隨著程序編寫規模的擴大,順利編寫出正確的程序絕非一件容易的事情,早期的許多編譯工具僅僅提供翻譯功能,已滿足不了應用的要求,編程人員需要-種功能全面並高度集成的編譯環境。
程序是一段具有一定功能的代碼,編寫程序的目的是解決問題。當程序人員寫完程序後,其實並不起作用,只有當編寫的程序經過一系列的處理後,能夠解決問題時。
序才成為真正的程序,這一系列的處理過程,-般就是編輯、編譯、連接、調試與運行等。目前最成熟的C語言集成環境主要有Turbo C2.0和Turbo C 3.0( 簡稱TC30)或Borland C++3.1( 簡稱BC31)以及Visual C++ 6.0。
❹ 程序編譯後形成的文件是什麼
玩c++建議去linux下玩,首先要搞明白編譯的是使用哪個編譯器,編譯的過程是怎麼樣。寫寫幾個Makefile就知道了。先直接用命令行操作,然後用集成的IDE來寫代碼。
對於編譯過程,總體上是這樣,源代碼(*.h,*.cpp/c)經過預編譯,編譯,生成目標文件(Windows下應該是.obj文件,Linux/unix下是.o文件),然後通過鏈接(將各種目標文件.obj(.o) 和 目標文件的集合(動態靜態庫dll(windows下),so(linux/unix下))),最終成功可執行文件(Windows下叫exe,Linux/unix下隨便以什麼結尾了)。
❺ 編譯之後生成的文件是什麼
這個,每個語言對編譯的定義不盡相同,有可能是目標程序,有可能是中間代碼。
如:c,c++等通常生成的是目標程序,如python,java,C#等通常生成的是中間代碼。
❻ 從預處理、編譯、匯編到鏈接,編譯系統都作了哪些工作使用哪些工具生成了哪些文件
這個問題可煩可簡,可深可淺。
對於編譯執行語言而言:
我所知的籠統過程有
(1)源代碼==》目標代碼==》可執行程序
(資源==》目標代碼)
(2)源代碼==》中間代碼==》目標代碼==》可執行程序
第(1)種一般的為低級匯編採用的模式,第一個主要步驟統稱為Assembly(匯編),由「匯編程序」(或稱匯編編譯器)完成,其包含預處理操作,生成的主要文件是目標文件,當然在生成目的文件前還有許多輔助文件,一般會被「匯編程序」臨時生成,用完即刪除,不指定控制選項的話最終用戶是看不到這些文件的,有哪些中間臨時文件,用處是什麼可以查看「匯編編譯器」的幫助選項得到。第二個主要步驟就是link(鏈接),其將目標代碼文件,鏈接庫里的目標代碼塊整合為可執行代碼,中間也臨時生成一些中間文件,如映射文件等,同樣可通過鏈接器的選項查看。
當然,在一些高級匯編里還會有資源編譯器,其將各種資源轉為(編譯為)目標文件(作為鏈接器的輸入)
第(2)種一般是高級語言採用的模式,但有些比較高級的直接跳過中間代碼由源代碼生成目標代碼,其就跟(1)類似,只是此時第一個主要步驟不叫「匯編」而稱compile(編譯),低級匯編的步驟一「匯編」也可稱」編譯「。如果有中間代碼生成,這中間代碼就是匯編代碼,此後續處理就同(1)了,此時的中間代碼其實也就是臨時文件中的一種。
概述:源代碼到目標代碼的過程通常稱為編譯,而目標代碼到可執行程序的過程稱問鏈接。
或將兩個過程統稱為代碼的編譯(全稱應為編譯連接),這涉及具體的語境,事實上編譯器如VC的cl.exe若沒有指定/c(只生產目標代碼選項),其就是編譯連接的統一過程(cl會調用相應的鏈接器),若指定,則只有編譯過程(只生成目標代碼而不鏈接稱可執行程序)
上述編譯執行類語言開發平台所開發生成的程序一般稱為」非託管類程序「
而對於託管類程序(如.NET平台語言C#,VB.NET,JVM平台的java等)
其雖然也有編譯過程,但其直接將源代碼轉為中間代碼而不是目標代碼(此時不是匯編代碼更不是機器碼,而是可被.NET或JVM引擎解釋執行的代碼)
可參看編譯原理等相關教材,阿門。。。
❼ java源程序編譯過後的文件是什麼文件
如果java項目的話編譯文件在項目目錄下的bin文件夾下如果是web項目編譯文件在web目錄/WEB-INF/classes/下面只有編譯後的代碼虛擬機才能執行
❽ keil軟體通過編譯生成的燒錄文件是什麼格式
編譯生成的文件:plg;編譯器編譯結果.hex和.bin;可執行文件:.map和.lst。
程序員將產品的邏輯操作抽象為C代碼,然後通過編譯器的編譯和鏈接,生成微處理器可執行的機器碼。
在典型的應用程序中,編譯器或匯編器將程序的源代碼(例如C或匯編語言)轉換為機器代碼,並將其輸出到一個文件中。然後,這個文件由程序員導入,以將機器代碼「燒錄」到ROM中,或傳輸到目標系統以進行載入和執行,這個存放機器碼的文件就是燒錄文件。
❾ 用c++編譯軟體編譯完成生成的不是cpp文件而是txt
CPP文件不是生成的,是你編寫代碼前就先創建的,編譯完成後會在debug目錄下生成txt文件。
❿ c#代碼進行第一次編譯後會生成什麼文件
根據建立的項目不同會生成不同的文件
一般程序是exe
庫文件是dll
web頁面是dll