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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、從用戶任務(wù)目錄開場(chǎng)搜索。的頭文件編譯器將從用戶任務(wù)目錄開場(chǎng)搜索。規(guī)那么和建議規(guī)那么和建議必需做頭文件維護(hù)。必需做頭文件維護(hù)。在頭文件中,盡課程運(yùn)用前向聲明,而不援用其他在頭文件中,盡課程運(yùn)用前向聲明,而不援用其他頭文件,以防止頭文件援用循環(huán)嵌套。頭文件,以防止頭文件援用循環(huán)嵌套。建議頭文件中只存放建議頭文件中只存放“聲明而不存放聲明而不存放“定義。定義。7信息技術(shù)教學(xué)實(shí)驗(yàn)中心實(shí)例: 頭文件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ī)范庫(kù)的頭文件援用規(guī)范庫(kù)的頭文件#include “anotherheaderbyme.h / 援用非規(guī)范庫(kù)的頭文件援用非規(guī)范庫(kù)的頭文件void Function1(); / 全局函數(shù)聲明全局函數(shù)聲明class Box / 類構(gòu)造聲明類構(gòu)造聲明;#endif信息技術(shù)教學(xué)實(shí)驗(yàn)中心函數(shù)與全局變量9信息技術(shù)教學(xué)實(shí)驗(yàn)中心VS2019類視圖10信息技術(shù)教學(xué)實(shí)驗(yàn)中心根本概念作用域 scope生命周期 life cycle11信息技術(shù)教學(xué)實(shí)驗(yàn)中心關(guān)注代碼中的符號(hào)或名字全局函

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

7、ile *fp = fopen(“a.txt); while(c = getc(pf) != EOF) putc(c, active);/ 這個(gè)循環(huán)執(zhí)行了多少次迭代這個(gè)循環(huán)執(zhí)行了多少次迭代char * p;while(0 = *p & *p = 9)信息技術(shù)教學(xué)實(shí)驗(yàn)中心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é)實(shí)驗(yàn)中心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 語(yǔ)句各執(zhí)行多少次循環(huán)語(yǔ)句各執(zhí)行多少次循環(huán)信息技術(shù)教學(xué)實(shí)驗(yàn)中心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é)實(shí)驗(yàn)中心break 和 continuebreak用于退出當(dāng)前循環(huán), 用于循環(huán)和switch語(yǔ)句中。continue意味著跳過該語(yǔ)句與循環(huán)末尾的一切語(yǔ)句,直接執(zhí)行下一次循環(huán)。20信息技術(shù)教學(xué)實(shí)驗(yàn)中心無限循環(huán)21for(;).while(1).可經(jīng)過可經(jīng)過break語(yǔ)句,語(yǔ)句,goto語(yǔ)句退出語(yǔ)句退出信息技術(shù)教學(xué)實(shí)驗(yàn)中心課后作業(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 四個(gè)對(duì)象的作用域和生存周期;編譯運(yùn)轉(zhuǎn)該程序,寫出運(yùn)轉(zhuǎn)結(jié)果,并加以分析。22信息技術(shù)教學(xué)實(shí)驗(yàn)中心Perl程序設(shè)計(jì)言語(yǔ)花兒朵朵之程序設(shè)計(jì)言語(yǔ)花兒朵朵之23信息技術(shù)教學(xué)實(shí)驗(yàn)中心拉里 沃爾24拉里拉里沃爾沃爾Larry Wall,1949年年3月月10日是程序員、系統(tǒng)管理者、

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論