加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

編譯器

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

簡(jiǎn)單講,編譯器就是將“一種語(yǔ)言(通常為高級(jí)語(yǔ)言)”翻譯為“另一種語(yǔ)言(通常為低級(jí)語(yǔ)言)”的程序。一個(gè)現(xiàn)代編譯器的主要工作流程:源代碼 (source code) → 預(yù)處理器 (preprocessor) → 編譯器 (compiler) → 目標(biāo)代碼 (object code) → 鏈接器 (Linker) → 可執(zhí)行程序 (executables)高級(jí)計(jì)算機(jī)語(yǔ)言便于人編寫,閱讀交流,維護(hù)。機(jī)器語(yǔ)言是計(jì)算機(jī)能直接解讀、運(yùn)行的。編譯器將匯編或高級(jí)計(jì)算機(jī)語(yǔ)言源程序(Source program)作為輸入,翻譯成目標(biāo)語(yǔ)言(Target language)機(jī)器代碼的等價(jià)程序。源代碼一般為高級(jí)語(yǔ)言 (High-level language), 如Pascal、C、C++、Java、漢語(yǔ)編程等或匯編語(yǔ)言,而目標(biāo)則是機(jī)器語(yǔ)言的目標(biāo)代碼(Object code),有時(shí)也稱作機(jī)器代碼(Machine co

簡(jiǎn)單講,編譯器就是將“一種語(yǔ)言(通常為高級(jí)語(yǔ)言)”翻譯為“另一種語(yǔ)言(通常為低級(jí)語(yǔ)言)”的程序。一個(gè)現(xiàn)代編譯器的主要工作流程:源代碼 (source code) → 預(yù)處理器 (preprocessor) → 編譯器 (compiler) → 目標(biāo)代碼 (object code) → 鏈接器 (Linker) → 可執(zhí)行程序 (executables)高級(jí)計(jì)算機(jī)語(yǔ)言便于人編寫,閱讀交流,維護(hù)。機(jī)器語(yǔ)言是計(jì)算機(jī)能直接解讀、運(yùn)行的。編譯器將匯編或高級(jí)計(jì)算機(jī)語(yǔ)言源程序(Source program)作為輸入,翻譯成目標(biāo)語(yǔ)言(Target language)機(jī)器代碼的等價(jià)程序。源代碼一般為高級(jí)語(yǔ)言 (High-level language), 如Pascal、C、C++、Java、漢語(yǔ)編程等或匯編語(yǔ)言,而目標(biāo)則是機(jī)器語(yǔ)言的目標(biāo)代碼(Object code),有時(shí)也稱作機(jī)器代碼(Machine co收起

查看更多
  • 新唐科技推出完整的免費(fèi) Arm? Keil? MDK Nuvoton Edition
    新唐科技正式推出免費(fèi)版 Arm? Keil? MDK Nuvoton Edition,成為全球首家提供 Keil MDK 完整版的公司。此專業(yè)工具適用于開發(fā)基于Arm Cortex?-M之全系列新唐微控制器產(chǎn)品,覆蓋從 Cortex-M0/M0+/M23 到高性能的 M33/M4/M55/M7/M85。Keil MDK 包含 Arm C/C++ 編譯器、Keil μVision? 開發(fā)環(huán)境和 Ke
  • 強(qiáng)勁升級(jí),兆易創(chuàng)新GD32A7系列全新一代車規(guī)級(jí)MCU震撼登場(chǎng)
    強(qiáng)勁升級(jí),兆易創(chuàng)新GD32A7系列全新一代車規(guī)級(jí)MCU震撼登場(chǎng)
    業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)宣布,重磅推出全新一代車規(guī)級(jí)MCU GD32A7系列。與上一代采用Arm? Cortex?-M4/M33的產(chǎn)品相比,GD32A7系列搭載了超高性能Arm? Cortex?-M7內(nèi)核,提供GD32A71x/GD32A72x/GD32A74x等多款型號(hào)供用戶選擇。該系列產(chǎn)品集成了優(yōu)異的性能、增強(qiáng)的安全升級(jí)以及豐富的外設(shè)接口
  • 也許多個(gè)編譯器共存才是MDK的大法吧!
    也許多個(gè)編譯器共存才是MDK的大法吧!
    Keil MDK 想必是嵌入式開發(fā)者最熟悉的工具之一了,自 2005 年 Arm 公司收購(gòu) Keil 公司之后,MDK 就走上了發(fā)展快車道,從 v2.50a 一路狂奔到現(xiàn)在最新的 v5.40, 累計(jì)有 75 個(gè)版本。
    1363
    09/11 15:20
  • 常用編輯器之GCC編譯器
    常用編輯器之GCC編譯器
  • 嵌入式 C 語(yǔ)言知識(shí)點(diǎn),動(dòng)態(tài)變長(zhǎng)數(shù)組
    嵌入式 C 語(yǔ)言知識(shí)點(diǎn),動(dòng)態(tài)變長(zhǎng)數(shù)組
    我們?cè)诰帉?C 語(yǔ)言程序的時(shí)候,如果使用的編譯器只支持 C89 標(biāo)準(zhǔn),那么,在定義數(shù)組的時(shí)候,數(shù)組長(zhǎng)度必須確定,例如:int arr[10],因?yàn)閿?shù)組是靜態(tài)分配內(nèi)存的,所以數(shù)組的長(zhǎng)度必須要在編譯時(shí)進(jìn)行確定。
  • SuperTest – 助力下一代智能網(wǎng)聯(lián)汽車實(shí)現(xiàn)AI邊緣計(jì)算
    SuperTest – 助力下一代智能網(wǎng)聯(lián)汽車實(shí)現(xiàn)AI邊緣計(jì)算
    總部位于上海的斑馬網(wǎng)絡(luò)技術(shù)有限公司是由中國(guó)阿里巴巴集團(tuán)和上汽集團(tuán)共同成立的合資企業(yè),致力于開發(fā)和支持名為Cyber OS和Drive OS的智能網(wǎng)聯(lián)汽車操作系統(tǒng)。Cyber OS專為智能座艙設(shè)計(jì),而Drive OS則用于智能駕駛。這些操作系統(tǒng)促進(jìn)了以人為本的功能,如增強(qiáng)現(xiàn)實(shí)(AR)導(dǎo)航、人機(jī)交互及互聯(lián)網(wǎng)連接,同時(shí)也支持車輛相關(guān)的功能,如發(fā)動(dòng)機(jī)啟動(dòng)、車輛診斷、照明及座椅調(diào)節(jié)等。鑒于許多基于人工智能(
  • 英飛凌通過HighTec認(rèn)證 AURIX? Rust生態(tài)系統(tǒng)進(jìn)一步擴(kuò)展
    英飛凌通過HighTec認(rèn)證 AURIX? Rust生態(tài)系統(tǒng)進(jìn)一步擴(kuò)展
    Rust編程語(yǔ)言憑借其獨(dú)特的內(nèi)存安全特性,已經(jīng)成為汽車軟件開發(fā)中C/C++的有效補(bǔ)充和潛在替代品。全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)與HighTec EDV-Systeme等合作伙伴攜手,進(jìn)一步擴(kuò)展了其AURIX?微控制器的Rust生態(tài)系統(tǒng)。HighTec近期發(fā)布了首款適用于AURIX? TC3x 和 TC4x的ISO 2
  • VS Code 編譯和調(diào)試C/C++程序也可以這么爽
    VS Code 編譯和調(diào)試C/C++程序也可以這么爽
    本文為大家介紹,如何在VS Code上安裝一個(gè)C/C++編譯器,為VS Code 裝上一雙會(huì)飛的翅膀,廢話不多說,我們開始準(zhǔn)備起飛。首先,安裝好VS Code之后,需要給其安裝一個(gè)C/C++擴(kuò)展。在擴(kuò)展庫(kù)里搜索 “c++”。
  • C語(yǔ)言速查手冊(cè):常量(Constants)
    C語(yǔ)言速查手冊(cè):常量(Constants)
    常量它是一個(gè)數(shù)據(jù)或是程序在運(yùn)行時(shí)其值不能改變的變量,常量也有很多不同的數(shù)據(jù)類型,下表列出一些常見的數(shù)據(jù)類型。
  • VS Code中如何安裝和使用CMake工具?
    VS Code中如何安裝和使用CMake工具?
    CMake是一個(gè)強(qiáng)大的項(xiàng)目工程構(gòu)建工具,它是一個(gè)跨平臺(tái)的開源工具。通過它可以自動(dòng)生成相應(yīng)的makefile等編譯文件,使得工程構(gòu)建和編譯過程更加簡(jiǎn)化,提高工作效率,尤其是大型的項(xiàng)目。今天將和大家一起學(xué)習(xí)如果在windows平臺(tái)下在VS Code中配置和使用CMake工具。
  • C語(yǔ)言速查手冊(cè):注釋(Comments)
    在C語(yǔ)言中可以使用“//”進(jìn)行單行注釋,也可以使用“/**/”多行注釋。被注釋掉的代碼在預(yù)編譯階段將會(huì)被移除。另外,處理這兩種方法之外還可以通過預(yù)編譯條件語(yǔ)句對(duì)代碼進(jìn)行注釋。
  • 算法時(shí)間復(fù)雜度分析:大O表示法
    算法時(shí)間復(fù)雜度分析:大O表示法
    在開發(fā)的時(shí)候,我們?nèi)绾卧u(píng)估一個(gè)算法的好壞,如何描述一個(gè)算法運(yùn)行效率的高低呢?通俗一點(diǎn)的表達(dá)方法就是程序執(zhí)行快或慢,但是這只是一種較為寬泛的描述,我們?nèi)绾沃庇^科學(xué)的用的描述它呢?
  • Keil MDK 添加/修改AC編譯器常見問題
    Keil MDK 添加/修改AC編譯器常見問題
    昨天分享了一個(gè)【Keil MDK 如何安裝和更換AC編譯器?】,但有一些小伙伴實(shí)際操作的時(shí)候發(fā)現(xiàn)了一些問題,今天我就來簡(jiǎn)單總結(jié)下:Keil MDK 添加/修改AC編譯器常見的一些問題。
    3810
    03/26 15:22
  • #error, #line, #pragma這幾個(gè)宏定義你經(jīng)常用嗎?
    #error, #line, #pragma這幾個(gè)宏定義你經(jīng)常用嗎?
    #error 是預(yù)編譯器中的一個(gè)指示宏,用于生成一個(gè)編譯錯(cuò)誤的消息,也可以用于給自己做提示,比如有些宏的定義和值是否符合預(yù)期,可以通過#if等判斷語(yǔ)句來輸出編譯錯(cuò)誤信息提示自己。同樣的#warning也一樣可以起到提示作用,但#warning不會(huì)使編譯器停止編譯。用法:
    5569
    02/18 15:40
  • 又是編譯器的鍋?全局變量怎么就從棧里取數(shù)據(jù)了?!
    又是編譯器的鍋?全局變量怎么就從棧里取數(shù)據(jù)了?!
    一個(gè)學(xué)員項(xiàng)目上需要完成app升級(jí)功能,但是跳轉(zhuǎn)后直接 hardfault,項(xiàng)目緊急,只能找上魚鷹加急處理。這種問題我都是比較自信的,M0+ 內(nèi)核,感覺問題不大,只是沒想到學(xué)員公司保密性比較強(qiáng),不能遠(yuǎn)程控制電腦,只能微信視頻進(jìn)行指導(dǎo)調(diào)試,折騰許久,才最終定位跳轉(zhuǎn)地址出現(xiàn)問題。
  • Microchip推出具有靈活許可選項(xiàng)的 MPLAB? XC-DSC 編譯器
    Microchip推出具有靈活許可選項(xiàng)的 MPLAB? XC-DSC 編譯器
    隨著工業(yè)和自動(dòng)駕駛汽車市場(chǎng)快速發(fā)展,人們對(duì)軟件工具的需求與日俱增,這些工具能夠更快、更高效地進(jìn)行實(shí)時(shí)控制應(yīng)用的編碼和調(diào)試。為了更好地服務(wù)于實(shí)時(shí)控制系統(tǒng)中經(jīng)常使用的 dsPIC? 數(shù)字信號(hào)控制器(DSC)的開發(fā)人員,Microchip Technology Inc.(微芯科技公司)推出了MPLAB? XC-DSC 編譯器。
  • 經(jīng)過認(rèn)證的工具鏈對(duì)安全關(guān)鍵型應(yīng)用意味著什么?
    經(jīng)過認(rèn)證的工具鏈對(duì)安全關(guān)鍵型應(yīng)用意味著什么?
    安全關(guān)鍵型應(yīng)用,在很多人看來是個(gè)專業(yè)的詞匯,但其實(shí)它離我們的日常生活很近,比如汽車駕駛系統(tǒng)、飛機(jī)控制系統(tǒng)、電梯運(yùn)行系統(tǒng)、醫(yī)療設(shè)備等與我們息息相關(guān)的事物都可以納入安全關(guān)鍵型應(yīng)用的范疇。 對(duì)于這類應(yīng)用,通用的或者領(lǐng)域相關(guān)的安全標(biāo)準(zhǔn)都有著明確的認(rèn)證規(guī)范,甚至開發(fā)這類應(yīng)用的工具鏈也必須以某種方式經(jīng)過認(rèn)證,以確保其適用于這些安全相關(guān)的開發(fā)。本文將介紹用于安全關(guān)鍵型開發(fā)的工具鏈獲得認(rèn)證的意義,以及您如何在自己
  • 如何有效使用RISC-V的跟蹤技術(shù)
    如何有效使用RISC-V的跟蹤技術(shù)
    在嵌入式軟件開發(fā)中,利用完整的應(yīng)用跟蹤,可為開發(fā)人員分析其產(chǎn)品行為提供無(wú)限的可能性。通過對(duì)應(yīng)用程序的全面了解,他們可以跟蹤每一條指令,看看他們的應(yīng)用程序是否按照預(yù)期運(yùn)行,或者是否出現(xiàn)錯(cuò)誤或漏洞。那么,如何才能最大化地利用現(xiàn)有可用的RISC-V跟蹤呢?
  • 應(yīng)對(duì)實(shí)際工程挑戰(zhàn),如何為嵌入式軟件開發(fā)選擇編譯器
    應(yīng)對(duì)實(shí)際工程挑戰(zhàn),如何為嵌入式軟件開發(fā)選擇編譯器
    在過去數(shù)十年,摩爾定律一直支配著半導(dǎo)體的發(fā)展。隨著MCU的性能越來越強(qiáng),嵌入式產(chǎn)品也越來越智能,嵌入式軟件也變得越來越復(fù)雜。編譯器作為嵌入式軟件開發(fā)的基礎(chǔ)工具,將程序員編寫的源代碼轉(zhuǎn)換為底層硬件可以執(zhí)行的機(jī)器指令。一款優(yōu)秀的編譯器既需要對(duì)程序進(jìn)行優(yōu)化,確保程序可以高效地運(yùn)行,同時(shí)又需要保證轉(zhuǎn)換的一致性。
  • 應(yīng)用編碼標(biāo)準(zhǔn)和自動(dòng)化工具,提高代碼質(zhì)量
    嵌入式系統(tǒng)在我們的日常生活中廣泛存在,從消費(fèi)類電子、醫(yī)療設(shè)備,到汽車,工業(yè)控制,航空航天等,它們的存在已經(jīng)成為我們生活中不可分割的一部分。隨著技術(shù)的不斷進(jìn)步和客戶需求的增加,嵌入式系統(tǒng)和軟件變得越來越復(fù)雜,同時(shí)產(chǎn)品的開發(fā)周期變得越來越短。如何在短時(shí)間內(nèi)開發(fā)出高質(zhì)量的軟件對(duì)產(chǎn)品的成功起著決定性的作用。 本文將介紹如何應(yīng)用編碼標(biāo)準(zhǔn)和自動(dòng)化工具,提高代碼質(zhì)量。 關(guān)于代碼質(zhì)量 代碼質(zhì)量總體上是指為軟件編寫

正在努力加載...