<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          首頁  資訊  商機   下載  拆解   高校  招聘   雜志  會展  EETV  百科   問答  電路圖  工程師手冊   Datasheet  100例   活動中心  E周刊閱讀   樣片申請
          EEPW首頁 >> 主題列表 >> 單片機(微控制器)

          編譯原理 —— 編譯器各階段工作

          • 1. 詞法分析 詞法分析器根據(jù)詞法規(guī)則識別出源程序中的各個記號(token),每個記號代表一類單詞(lexeme)。源程序中常見的記號可以歸為幾大類:關(guān)鍵字、標識符、字面量和特殊符號。詞法分析器的輸入是源程序,輸出是識別的記號流。詞法分析器的任務(wù)是把源文件的字符流轉(zhuǎn)換成記號流。本質(zhì)上它查看連續(xù)的字符然后把它們識別為“單詞”。 2. 語法分析 語法分析器根據(jù)語法規(guī)則識別出記號流中的結(jié)構(gòu)(短語、句子),并構(gòu)造一棵能夠正確反映該結(jié)構(gòu)的語法樹。 3. 語義分析 語義分析器根據(jù)語義規(guī)則
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          Linux操作系統(tǒng)中GCC的應(yīng)用介紹(下)

          • 代碼優(yōu)化 代碼優(yōu)化指的是編譯器通過分析源代碼,找出其中尚未達到最優(yōu)的部分,然后對其重新進行組合,目的是改善程序的執(zhí)行性能。GCC提供的代碼優(yōu)化功能非常強大,它通過編譯選項-On來控制優(yōu)化代碼的生成,其中n是一個代表優(yōu)化級別的整數(shù)。對于不同版本的GCC來講,n的取值范圍及其對應(yīng)的優(yōu)化效果可能并不完全相同,比較典型的范圍是從0變化到2或3。 編譯時使用選項-O可以告訴 GCC同時減小代碼的長度和執(zhí)行時間,其效果等價于-O1。在這一級別上能夠進行的優(yōu)化類型雖然取決于目標處理器,但一般都會包括線程跳轉(zhuǎn)(T
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          Linux操作系統(tǒng)中GCC的應(yīng)用介紹(上)

          • 在為Linux開發(fā)應(yīng)用程序時,絕大多數(shù)情況下使用的都是C語言,因此幾乎每一位Linux程序員面臨的首要問題都是如何靈活運用C編譯器。目前Linux 下最常用的C語言編譯器是GCC(GNU Compiler Collection),它是GNU項目中符合ANSI C標準的編譯系統(tǒng),能夠編譯用C、C++和Object C等語言編寫的程序。GCC不僅功能非常強大,結(jié)構(gòu)也異常靈活。最值得稱道的一點就是它可以通過不同的前端模塊來支持各種語言,如Java、 Fortran、Pascal、Modula-3和Ada等。
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          linux配置、編譯內(nèi)核實用工具

          • Make  Make是一種幫助大型軟件工程的編譯工作實現(xiàn)自動化的編程語言。正確地使用Make可以大大減少因編譯程序而花費的時間,因為它可以消除不必要的再編譯。Make的基本設(shè)計思想是如果目標文件是在最近一次對源文件的修改之后編譯的,它就是“新的”,不需要重新編譯;如果最近一次對源文件的修改之后沒有及時更新目標文件,那么該目標文件就是“舊的”,需要重新編譯。為了理解Make如何執(zhí)行一個任務(wù),需要了解一些術(shù)語:  ◆目標 需要執(zhí)行的一個任務(wù)。多數(shù)情況下它就是用戶要生成的文件的名字
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          gcc and g++編譯器和gdb調(diào)試器

          • gcc and g++分別是gnu的c & c++編譯器 gcc/g++在執(zhí)行編譯工作的時候,總共需要4步 1.預(yù)處理,生成.i的文件[預(yù)處理器cpp] 2.將預(yù)處理后的文件不轉(zhuǎn)換成匯編語言,生成文件.s[編譯器egcs] 3.有匯編變?yōu)槟繕舜a(機器代碼)生成.o的文件[匯編器as] 4.連接目標代碼,生成可執(zhí)行程序[鏈接器ld] [參數(shù)詳解] -x language filename     設(shè)定文件所使用的語言,
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          構(gòu)建帶內(nèi)存錯誤檢查的gcc

          • 1.         下載gcc,本文使用的版本是3.4.2。 http://gcc.gnu.org/   2.         下載gcc擴展boundschecking。 http://sourceforge.net/projects/boundschecking/   3.  &nb
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  存儲器  

          交叉編譯場景分析(arm-linux)(八)

          • 1.基本信息: 軟件名稱  glib   功能簡述  Glib是GNOME的一個基礎(chǔ)庫,提供基本的容器、算法、對象系統(tǒng)、OSAPI的適配器等。   下載地址  http://www.gtk.org   軟件版本  glib-2.8.0.tar.gz   依賴關(guān)系  默認   前置條件  源文件位置:$(WORK_DIR)/ glib-2.8.0     2. 
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          交叉編譯場景分析(arm-linux)(七)

          • 編譯sqlite1. 基本信息: 軟件名稱  sqlite   功能簡述  sqlite是一個針對嵌入式系統(tǒng)設(shè)計的數(shù)據(jù)庫管理系統(tǒng)(DBMS),實現(xiàn)了SQL92的基本功能,ARM版的可執(zhí)行文件約300K.   下載地址  http://www.sqlite.org/   軟件版本  sqlite-3.3.4.tar.gz   依賴關(guān)系  默認 readline   前置條件  源文件位置:
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          交叉編譯場景分析(arm-linux)(六)

          • 1.         基本信息: 軟件名稱  TinyX   功能簡述   TinyX是一個針對嵌入式系統(tǒng)設(shè)計的X Window,相對PC版的X Window而言,它占用的資源要少很多,服務(wù)器程序僅700多K,客戶端的動態(tài)庫約2M(看你需要而定)多。   下載地址  http://www.xfree86.org   軟件版本  XFree86-4.5.0-
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  嵌入式  

          交叉編譯場景分析(arm-linux)(五)

          • 編譯libjpeg和libpng1.         基本信息: 軟件名稱  libjpeg   功能簡述  libjpeg一個jpeg圖形編碼解碼程序庫   下載地址  http://www.photopost.com/jpegsrc.v6b.tar.gz   軟件版本  jpegsrc.v6b.tar.gz   依賴關(guān)系  
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          交叉編譯場景分析(arm-linux)(四)

          • 編譯readline和ncurses1 基本信息: 軟件名稱  readline   功能簡述  readline一個命令行編輯程序庫   下載地址  http://directory.fsf.org/readline.html   軟件版本  readline-5.1.tar.gz   依賴關(guān)系  默認   前置條件  源文件位置:$(WORK_DIR)/ readline-
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          交叉編譯場景分析(arm-linux)(三)--編譯zlib

          • 1.?基本信息: 軟件名稱 ?zlib ? 功能簡述 ?zlib?一個壓縮解壓程序庫 ? 下載地址 ?http://www.zlib.net/ ? 軟件版本 ?zlib-1.2.3.tar.gz ? 依賴關(guān)系 ?默認 ? 前置條件 ?源文件位置:$(WORK_DIR)/zlib ? ? 2.?????&nbs
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          交叉編譯場景分析(arm-linux)(二)

          • 1.基本信息:.         過程分析 因為是cvs版本,所以先要生成configure腳本,tslib提供了一個autogen.sh文件,自然是用autogen.sh去產(chǎn)生了。運行: [root@linux tslib]# ./autogen.sh   出現(xiàn)了如下錯誤: : bad interpreter: No such file
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          交叉編譯場景分析(arm-linux)(一)

          • 1.         基本知識 在linux下,絕大部分的軟件包都是用autoconf配置的。除此之外,比較有名的就是X11的imake配置方式,imake實際上有點過時了,用起來很不方便,所以xfree86已經(jīng)計劃向autoconf移植了。還有極少的直接使用Makefile編譯,通過環(huán)境變量或者不同的Makefile配置,當然這只適用于簡單的軟件包。   Autoconf是一個非常有用的配置工具,原理有點
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  

          GCC交叉編譯器的制作

          • 本文所舉的實例是在Cygwin環(huán)境下制作帶uclibc庫的arm交叉編譯器。 1.下載所需文件 以下是我在Cygwin環(huán)境下制作arm-gcc(uclibc)交叉編譯器中所需要的文件: binutils-2.14.90.0.8 uClibc-0.9.27 gcc-3.4.2 linux-libc-headers-2.4.29 PS:一般來說這里還需要下一些patch,因為我對編譯器的理解還不夠,加上這個事情是工作內(nèi)容,還有些其他的特殊需求,為了省麻煩,我用了一個很齷齪的方法。我將在linux環(huán)境下被bui
          • 關(guān)鍵字: 編輯器  編譯器  單片機  嵌入式系統(tǒng)  專題  
          共9978條 529/666 |‹ « 527 528 529 530 531 532 533 534 535 536 » ›|

          單片機(微控制器)介紹

          您好,目前還沒有人創(chuàng)建詞條單片機(微控制器)!
          歡迎您創(chuàng)建該詞條,闡述對單片機(微控制器)的理解,并與今后在此搜索單片機(微控制器)的朋友們分享。    創(chuàng)建詞條

          熱門主題

          關(guān)于我們 - 廣告服務(wù) - 企業(yè)會員服務(wù) - 網(wǎng)站地圖 - 聯(lián)系我們 - 征稿 - 友情鏈接 - 手機EEPW
          Copyright ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
          《電子產(chǎn)品世界》雜志社 版權(quán)所有 北京東曉國際技術(shù)信息咨詢有限公司
          備案 京ICP備12027778號-2 北京市公安局備案:1101082052    京公網(wǎng)安備11010802012473
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();