Ⅰ C++中什麼是編譯時,什麼是運行時,二者有何區別
編譯階段主要進行語法的檢查,無誤。將程序代碼轉換成目標代碼(二進製表示,打開看不懂),沒有和操作系統進行連接,不能運行。完成連接後,程序能夠進入系統運行。
運行時,一定是編譯過的,沒有語法錯誤。編譯時,沒有生成目標文件,可能有語法錯誤。
Ⅱ 如何將絕對目標代碼轉換成hex格式文件
第一,可以使用keil
c,在編譯時直接生成。
第二,使用oh51(dos命令)將目標文件轉換成hex格式的文件。
oh51
inputfile
[hexfile]
Ⅲ 代碼是什麼格式啊
表述不清,沒指明是什麼的代碼。
代碼就是程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。代碼設計的原則包括惟一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。現代程序語言中,源代碼可以書籍或磁帶形式出現,但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,通過編譯器完成。
比如:主流的病毒的代碼是多用
VB語言編寫的,病毒多為組合式的,其中一個文件的後綴名為
.vbs
,.vbs就是這個文件的格式
Ⅳ C語言編譯原理是什麼
編譯共分為四個階段:預處理階段、編譯階段、匯編階段、鏈接階段。
1、預處理階段:
主要工作是將頭文件插入到所寫的代碼中,生成擴展名為「.i」的文件替換原來的擴展名為「.c」的文件,但是原來的文件仍然保留,只是執行過程中的實際文件發生了改變。(這里所說的替換並不是指原來的文件被刪除)
2、匯編階段:
插入匯編語言程序,將代碼翻譯成匯編語言。編譯器首先要檢查代碼的規范性、是否有語法錯誤等,以確定代碼的實際要做的工作,在檢查無誤後,編譯器把代碼翻譯成匯編語言,同時將擴展名為「.i」的文件翻譯成擴展名為「.s」的文件。
3、編譯階段:
將匯編語言翻譯成機器語言指令,並將指令打包封存成可重定位目標程序的格式,將擴展名為「.s」的文件翻譯成擴展名為「.o」的二進制文件。
4、鏈接階段:
在示例代碼中,改代碼文件調用了標准庫中printf函數。而printf函數的實際存儲位置是一個單獨編譯的目標文件(編譯的結果也是擴展名為「.o」的文件),所以此時主函數調用的時候,需要將該文件(即printf函數所在的編譯文件)與hello world文件整合到一起,此時鏈接器就可以大顯神通了,將兩個文件合並後生成一個可執行目標文件。
Ⅳ c語言代碼用Dev編譯的時候保存什麼格式了
保存成文本格式了
文件名一般用.c結尾。
Ⅵ 如何用FORTRAN把寫好的代碼轉換為dll格式,而不是f90期待你的回答……
用一款編譯器,編譯成目標代碼。然後鏈接成dll就可以了。
具體操作,則因你選擇的編譯器不同而不同。
Ⅶ 如何將*.exe(編譯連接後的可執行程序)轉換為*.txt格式的,查看其源代碼
至於生成什麼文件應該看樓主需要進行設置,一般默認都會生成.EXE文件,
首先先從文件說吧,不管什麼格式都是一個文件,裡面都是數字也就是代碼,而我們在軟體里常用的文件格式一般是頭文件(.h
.hpp以h開頭等),代碼實現文件(.c
.cpp等),裡面裝的也就是程序代碼。
Windows(一般用VC寫的程序)程序分為
程序代碼
和
UI(User
Interface用戶介面)資源
兩大部分,兩部份最後以RC編譯器整合為一個完整的EXE
文件。
所謂UI
資源是指功能菜單、對話框外貌、程序圖標、游標形狀、圖片等等東西。這些UI
資源的實際內容(二進制代碼)系藉助各種工具產生,並以各種擴展名存在,如.ico、.bmp、.cur
等等,這需要樓主在VC的資源(RC)編輯器里去搞,
過程就是,你點擊運行時,首先C編譯器編譯(所有的,當然會有先後順序這要看編譯器了).cpp文件並(.h
不會編譯不然就不要#include了~~)生成.OBJ文件(其中進行語法檢查,轉換成匯編,再轉換成二進制代碼等);提示一下,如果你在VC中有圖片呀,按鈕呀之類的是RC編譯器在你添加後自動做好的文件,它就是以圖形的形式顯示給你看而已,在C編譯的同時RC編譯器將這些圖片呀之類的搞成一個.RES的文件,再之後就是連接了,連接器把.OBJ
.RES再弄成.EXE文件,
其實樓主先把這些比較核心和基礎的搞懂就OK了,希望樓主是VC界一代新秀啊~~~~~~
Ⅷ C語言源程序文件的後綴是什麼,經過編譯後生成文件的後綴是什麼經過連接後生成文件的後綴是什麼
C語言源文件後綴名是.c,編譯生成的文件後綴名是.obj,連接後可執行文件的後綴名是.exe。
源文件的後綴僅僅是為了表明該文件中保存的是某種語言的代碼(例如.c文件中保存的是C語言代碼),這樣程序員更加容易區分,編譯器也更加容易識別,它並不會導致該文件的內部格式發生改變。
(8)編譯時將代碼轉換成什麼格式擴展閱讀
C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大。
依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。
C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點。
Ⅸ 在用vc進行c語言編程時所謂的編譯是不是把自己打的c語言代碼轉換成二進制的數字
可以這么理解。
編譯的過程就是把人能讀懂的東西,變成人讀不懂的東西,但是計算機能讀懂的。
這些目標文件,如果人來看,就是一堆的二進制數字,參考黑客帝國 ;D
可是在計算機眼裡,他們就不一樣了,有些是指令,有些是數據。
Ⅹ 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。