㈠ 匯編器和編譯器有什麼區別
匯編器(Assembler)是將匯編語言翻譯為機器語言的程序。一般而言,匯編生成的是目標代碼,需要經鏈接器(Linker)生成可執行代碼才可以執行。
匯編語言是一種以處理器指令系統為基礎的低級語言,採用助記符表達指令操作碼,採用標識符表示指令操作數。作為一門語言,對應於高級語言的編譯器,需要一個「匯編器」來把匯編語言原文件匯編成機器可執行的代碼。常用的高級語言編譯器有Microsoft公司的MASM系列和Borland公司的TASM系列編譯器,還有一些小公司推出的或者免費的匯編軟體包等。
編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)
㈡ 匯編器和編譯器有什麼區別WINDOWS操作系統中是否包含這
匯編和編譯是兩個完全不同的概念.
匯編是指用匯編語言直接操縱機器,用匯編語言編的程序是不需要編譯器進行編譯的
編譯是指把高級語言編的程序翻譯成機器語言好讓機器執行,不同的高級語言有不同的編譯器
樓主可以看看<<匯編語言>>和<<編譯原理>>這兩本書就明白了
㈢ 編譯器跟編輯器有什麼區別。還有什麼是鏈接器
鏈接器(Linker)是一個程序,將一個或多個由編譯器或匯編器生成的目標文件外加庫鏈接為一個可執行文件。
是軟體程序,一般是指用來修改電腦檔案的編寫軟體,但也有人稱 PE2、HE4(漢書)……等文書軟體為編輯器。常見的編輯器有文本編輯器、網頁編輯器、源程序編輯器、圖像編輯器,聲音編輯器,視頻編輯器等。
簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執行程序 (executables)
㈣ 編譯器 鏈接器 計算機 匯編語言 機器語言
對應的硬體是模擬器或CPU,因為這些程序經編譯器後要進入單片機或DSP的。模擬器起到該作用。;;你的問題不太明確,希望我的回答能幫到你。
㈤ 匯編器、編譯器、編輯器
有鏈接器,編輯器,編譯器.
GCC的話就是把 先把源文件預處理成純C的文件,編譯器把純C文件轉換成匯編程序,匯編器再把匯編程序變成 目標文件. 連接器 去鏈接庫文件,然後生成可執行文件... ...
其實編譯器,沒有什麼功能,就和文本 TXT一樣,只不過多了一些語法高亮功能.
純C文件,說白了,就是去掉一些沒有的東西,比如注釋,還有一些用不到的東西.
然後純C文件變成匯編的代碼,
㈥ 匯編語言編譯器的TASM的用法
TASM是Borland公司推出的匯編編譯器,也是一種使用很廣泛的編譯器,和MASM相比,TASM的升級沒有這么頻繁。TASM早在1.0版本就有了對80386處理器指令的完全支持(MASM要到5.0版本才支持80386指令),1989年推出的1.01版本修正了1.0版的一些錯誤;早期的版本還有TASM 3.0和TASM 4.0,其中4.0版是TASM系列編譯器編寫DOS程序使用最廣泛的版本。
到目前為止,TASM的最後一個版本是5.0版,這個版本支持Win32編程,並單獨為Win32編程附帶有一整套的32位程序:32位的編譯器TASM32.EXE、鏈接器TLINK32.EXE和資源編譯器BRC32.EXE。與這些32位程序對應的16位工具在軟體包中依然存在,文件名為TASM.EXE,TLINK.EXE和BRC.EXE等。
TASM 5.0命令行的使用方法是:
TASM32 [選項] 源文件名[,[目標文件名],[列表文件名],[索引文件名]][;]
在Win32編程時TASM的常用選項如下表所示。
選 項
簡 介
/ml,/mx,/mu
對大小寫是否敏感:ml=全部敏感,mx=全局變數大小寫敏感,mu=不敏感,Win32編程中必須用ml選項
/m#
允許第#次編譯掃描時可以向前引用,一般使用/m2
/i路徑
設定include文字所在的路徑
/l,/la
lst文件的格式:/l為正常格式,/la為擴充格式
/zi,/zd,/zn
符號調試信息的控制:/zi為全部,/zd為僅有行號,/zn為不產生調試信息
TASM和MASM之間的導入庫和目標文件等不能通用,程序員無法用Microsoft的鏈接器來鏈接TASM產生的obj文件,反之亦然,這是因為TASM的庫文件和obj文件一直是OMF格式,與Microsoft使用的COFF格式不兼容
㈦ dsp 匯編器與鏈接器
編譯器將原代碼c或c++編譯成匯編asm文件,匯編器將asm文件匯編為目標文件obj(二進制文件),連接器將obj和lib等連接為最後的out文件(二進制)
㈧ 匯編編譯器,
如果你只是為了學習的話,推薦試試 em8086.
調試本身推薦試試 turbo debugger
匯編語言就是這樣的,並不是為了方便學習而設計的。
㈨ 簡述一下編譯器和鏈接器的作用
1、編譯器:
編譯器對源文件進行編譯,就是把源文件中的文本形式存在的源代碼翻譯成機器語言形式的目標文件的過程,在這個過程中,編譯器會進行一系列的語法檢查。如果編譯通過,就會把對應的CPP轉換成OBJ文件。
2、鏈接器:
當鏈接器進行鏈接的時候,首先決定各個目標文件在最終可執行文件里的位置。然後訪問所有目標文件的地址重定義表,對其中記錄的地址進行重定向(加上一個偏移量,即該編譯單元在可執行文件上的起始地址)。
然後遍歷所有目標文件的未解決符號表,並且在所有的導出符號表裡查找匹配的符號,並在未解決符號表中所記錄的位置上填寫實現地址。最後把所有的目標文件的內容寫在各自的位置上,再作一些另的工作,就生成一個可執行文件。
㈩ C編譯器一般包括匯編器嗎
樓主把概念搞混了,匯編器(比如MASM)全稱是匯編編譯器,用來編譯匯編語言的。我想在一般的程序中,是用來編譯內嵌的匯編碼的。
匯編語言的大部分命令都和機器碼一一對應,
而高級語言和匯編的偽指令是不和機器碼一一對應的
(也許高級語言一句會轉換為N句機器碼)。
因此從某種意義上說,匯編碼就相當於機器碼。
創造匯編只不過是看著舒服點而已,
要不然輸入的指令只能由0或1構成,
和這些東西打交道會多麻煩啊。
編譯器的作用是,將源文件(.c/.cpp/.pas等)轉換為目標代碼(.obj/.dcu等)。這是已經是二進制代碼了。
最後又連接器(Linker),將目標代碼連接起來,
這樣才形成了可執行文件