大規(guī)模集成電路設(shè)計應(yīng)用與實踐ppt課件_第1頁
大規(guī)模集成電路設(shè)計應(yīng)用與實踐ppt課件_第2頁
大規(guī)模集成電路設(shè)計應(yīng)用與實踐ppt課件_第3頁
大規(guī)模集成電路設(shè)計應(yīng)用與實踐ppt課件_第4頁
大規(guī)模集成電路設(shè)計應(yīng)用與實踐ppt課件_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、信息技術(shù)教學(xué)實驗中心大規(guī)模集成電路設(shè)計運用與實際代碼閱讀與實際代碼閱讀與實際Lecture 3主講人:胡亞斌主講人:胡亞斌:yabin.hwugmail系列課程之系列課程之信息技術(shù)教學(xué)實驗中心第二次課的回想關(guān)懷代碼閱讀全周期四個步驟內(nèi)發(fā)生的事關(guān)懷代碼閱讀全周期四個步驟內(nèi)發(fā)生的事源碼,預(yù)編譯,編譯,匯編,鏈接,運轉(zhuǎn),修正源源碼,預(yù)編譯,編譯,匯編,鏈接,運轉(zhuǎn),修正源碼碼了解目的文件了解目的文件, readelf, objdump 等工具的運用等工具的運用深化了解編譯、鏈接深化了解編譯、鏈接了解程序員眼中的內(nèi)存模型:了解程序員眼中的內(nèi)存模型: 堆堆 與與 棧棧深化了解深化了解 HelloWorld

2、 程序的全生命周期程序的全生命周期2信息技術(shù)教學(xué)實驗中心代碼閱讀有哪些事3閱讀靜態(tài)源代閱讀靜態(tài)源代碼,勾勒代碼碼,勾勒代碼執(zhí)行流和物理執(zhí)行流和物理組織圖和邏輯組織圖和邏輯組織圖。組織圖。讀讀對程序進(jìn)展編對程序進(jìn)展編譯,匯編,鏈譯,匯編,鏈接等操作。閱接等操作。閱讀其代碼低層讀其代碼低層形狀。形狀。譯譯運轉(zhuǎn)編譯得到運轉(zhuǎn)編譯得到二進(jìn)制文件,二進(jìn)制文件,察看代碼運轉(zhuǎn)察看代碼運轉(zhuǎn)態(tài)。結(jié)果與在態(tài)。結(jié)果與在“讀階段得讀階段得到的了解進(jìn)展到的了解進(jìn)展對比,分析。對比,分析。行行對代碼進(jìn)展修對代碼進(jìn)展修正,對修正后正,對修正后的代碼行為進(jìn)的代碼行為進(jìn)展預(yù)測。展預(yù)測。改改信息技術(shù)教學(xué)實驗中心4根本編程元素課程內(nèi)

3、容1函數(shù)與全局變量2循環(huán)構(gòu)造3goto語句4字符及布爾型表達(dá)式5do循環(huán)與整型表達(dá)式6信息技術(shù)教學(xué)實驗中心根本編程元素5信息技術(shù)教學(xué)實驗中心一個完好的程序見本節(jié)課實驗一原型代碼可以參考教材隨書關(guān)盤netbsdsrcbinechoecho.c實驗演示,了解 main 函數(shù)參數(shù) argc 與 argv6信息技術(shù)教學(xué)實驗中心頭文件用于函數(shù)、變量的聲明。用于函數(shù)、變量的聲明。用用 #include 格式來援用規(guī)范庫的格式來援用規(guī)范庫的頭文件編譯器將從規(guī)范庫目錄開場搜索。頭文件編譯器將從規(guī)范庫目錄開場搜索。用用 #include“filename.h 格式來援用非規(guī)范庫格式來援用非規(guī)范庫的頭文件編譯器將

4、從用戶任務(wù)目錄開場搜索。的頭文件編譯器將從用戶任務(wù)目錄開場搜索。規(guī)那么和建議規(guī)那么和建議必需做頭文件維護(hù)。必需做頭文件維護(hù)。在頭文件中,盡課程運用前向聲明,而不援用其他在頭文件中,盡課程運用前向聲明,而不援用其他頭文件,以防止頭文件援用循環(huán)嵌套。頭文件,以防止頭文件援用循環(huán)嵌套。建議頭文件中只存放建議頭文件中只存放“聲明而不存放聲明而不存放“定義。定義。7信息技術(shù)教學(xué)實驗中心實例: 頭文件8/* * CopyRightYabin Hu, CUG. 2019,10,29. * this is a demo for header file. */#ifndef MY_INCLUDE_FILE_H

5、/ 防止防止 my_include.h 被反復(fù)援用被反復(fù)援用#define MY_INCLUDE_FILE_H#include / 援用規(guī)范庫的頭文件援用規(guī)范庫的頭文件#include “anotherheaderbyme.h / 援用非規(guī)范庫的頭文件援用非規(guī)范庫的頭文件void Function1(); / 全局函數(shù)聲明全局函數(shù)聲明class Box / 類構(gòu)造聲明類構(gòu)造聲明;#endif信息技術(shù)教學(xué)實驗中心函數(shù)與全局變量9信息技術(shù)教學(xué)實驗中心VS2019類視圖10信息技術(shù)教學(xué)實驗中心根本概念作用域 scope生命周期 life cycle11信息技術(shù)教學(xué)實驗中心關(guān)注代碼中的符號或名字全局函

6、數(shù)與全局變量具有外部鏈接(external linkage)的符號在OO編程中,定義在任何類之外規(guī)那么: 在檢查代碼時,確保一切只用于單一文件的變量都聲明為 static 的。12信息技術(shù)教學(xué)實驗中心對變量名的分析關(guān)注修飾符static 文件作用域, 程序生命周期extern 全局作用域,程序生命周期實驗演示13信息技術(shù)教學(xué)實驗中心對函數(shù)的分析了解函數(shù)功用的方法經(jīng)過函數(shù)名猜閱讀函數(shù)定義之前的注釋猜測參數(shù)的意義察看函數(shù)被調(diào)用的方式和前往值閱讀函數(shù)體代碼查閱外部文檔14信息技術(shù)教學(xué)實驗中心循環(huán)構(gòu)造15信息技術(shù)教學(xué)實驗中心while循環(huán)16/翻開一個文件得到其文件描畫符翻開一個文件得到其文件描畫符F

7、ile *fp = fopen(“a.txt); while(c = getc(pf) != EOF) putc(c, active);/ 這個循環(huán)執(zhí)行了多少次迭代這個循環(huán)執(zhí)行了多少次迭代char * p;while(0 = *p & *p = 9)信息技術(shù)教學(xué)實驗中心do-while的特殊用法17#define ABORT_PARSE do global_command = 0; yyerrok; if (! symtab_context.empty () symbol_table:set_scope (symtab_context (); symtab_context.pop (); if

8、 (interactive | forced_interactive) YYACCEPT; else YYABORT; while (0)信息技術(shù)教學(xué)實驗中心for循環(huán)次數(shù)18for(int i = 0; i = nargs; i+)for(int i = 0; i nargs; i+)for(int i = 1; i 0; i-)for(dp = readdir(dd); dp != NULL; dp = readdir(dd)以下以下for 語句各執(zhí)行多少次循環(huán)語句各執(zhí)行多少次循環(huán)信息技術(shù)教學(xué)實驗中心for循環(huán)與效率19for (i=0; iN; i+)if (condition)DoSo

9、mething();elseDoOtherthing();if (condition)for (i=0; iN; i+)DoSomething();elsefor (i=0; iN; i+)DoOtherthing();信息技術(shù)教學(xué)實驗中心break 和 continuebreak用于退出當(dāng)前循環(huán), 用于循環(huán)和switch語句中。continue意味著跳過該語句與循環(huán)末尾的一切語句,直接執(zhí)行下一次循環(huán)。20信息技術(shù)教學(xué)實驗中心無限循環(huán)21for(;).while(1).可經(jīng)過可經(jīng)過break語句,語句,goto語句退出語句退出信息技術(shù)教學(xué)實驗中心課后作業(yè)閱讀wiki上關(guān)于作用域 與 生存周期

10、的解釋/zh/%E4%BD%9C%E7%94%A8%E5%9F%9F/zh/%E5%8F%98%E9%87%8F_(%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1)從課程網(wǎng)站上下載 lifecycle.cpp 文件寫出 a, b, c, d 四個對象的作用域和生存周期;編譯運轉(zhuǎn)該程序,寫出運轉(zhuǎn)結(jié)果,并加以分析。22信息技術(shù)教學(xué)實驗中心Perl程序設(shè)計言語花兒朵朵之程序設(shè)計言語花兒朵朵之23信息技術(shù)教學(xué)實驗中心拉里 沃爾24拉里拉里沃爾沃爾Larry Wall,1949年年3月月10日是程序員、系統(tǒng)管理者、

11、日是程序員、系統(tǒng)管理者、言語學(xué)家和作家,生于加拿大卑詩省言語學(xué)家和作家,生于加拿大卑詩省鄧肯市。他最為人知的地方,是他設(shè)鄧肯市。他最為人知的地方,是他設(shè)計的編程言語計的編程言語Perl。信息技術(shù)教學(xué)實驗中心Perl的來源Perl的來源多少有些的來源多少有些“不測。由于其開創(chuàng)人拉里不測。由于其開創(chuàng)人拉里沃爾并不是有意的要編寫一門編程言語,現(xiàn)實上,沃爾并不是有意的要編寫一門編程言語,現(xiàn)實上,拉里沃爾也不是一位程序員,而是系統(tǒng)專家。當(dāng)拉里沃爾也不是一位程序員,而是系統(tǒng)專家。當(dāng) 時拉里沃爾正在擔(dān)任一個工程,由于要完成某項任時拉里沃爾正在擔(dān)任一個工程,由于要完成某項任務(wù),雖然拉里沃爾曾想用務(wù),雖然拉里沃

12、爾曾想用 awk 來完成,但其并不來完成,但其并不能滿足他的需求,結(jié)果就是一門新的編程言語要誕能滿足他的需求,結(jié)果就是一門新的編程言語要誕生了。生了。25信息技術(shù)教學(xué)實驗中心Perl的設(shè)計哲學(xué) -簡單同Objective-C、PHP、C+等言語一樣,生于80后的Perl同樣有C言語的血緣,同樣具有強大的才干及靈敏性,相比于那些高級言語 而言,Perl言語直接提供泛型變量、動態(tài)數(shù)組、Hash表等便利的編程元素。但真正讓程序員們興奮的還是Perl的簡單哲學(xué)。Perl的簡單首先表如今其代碼量上,相比于其他言語,面對一個稍復(fù)雜的問題,用Perl處理也許幾行就足以!而編譯Perl程序那么更加簡單,他根 本不需求一些特殊的指令。由于Perl承繼了C言語的很多語法規(guī)那么,所以它

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論