freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

李林 linux 第一講前言-文庫吧

2024-11-23 10:06 本頁面


【正文】 現(xiàn) 第一講 前言 ? 教學(xué)目的 ? 課程主要內(nèi)容及安排 ? 學(xué)習(xí)方法 ? 學(xué)習(xí)資料推薦 ? 編程環(huán)境介紹 同學(xué)們存在的普遍問題 ? 各方的反饋意見:一些基礎(chǔ)性的,或者核心的知識點(diǎn)沒有吃透 ? 語言方面 ? this指針、虛表、成員函數(shù)和一般函數(shù)異同 ? 局部對象如何影響性能 ? 在基類析構(gòu)函數(shù)中調(diào)用虛函數(shù)有什么效果 ? 操作系統(tǒng)方面 ? 什么是進(jìn)程上下文 ? 編譯方面 ? 什么是編譯單元、為什么會(huì)有重定義 ? 算法方面 ? 為什么時(shí)間復(fù)雜度一樣的兩個(gè)算法,實(shí)際執(zhí)行時(shí)間會(huì)有數(shù)量級差異 ? 數(shù)據(jù)庫方面 ? 怎樣寫 sql語句,才會(huì)高效 ? 缺乏一種適合于計(jì)算機(jī)軟件系統(tǒng)的學(xué)習(xí)方法 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 總體思想 ?“少”量的知識 + ―猜測、實(shí)證、構(gòu)建” =系統(tǒng)觀 高級語言 底層物理模型 軟件架構(gòu) 核 心 課 程 及 課 程 設(shè) 計(jì) 猜 測 、 實(shí) 證 、 構(gòu) 建 站在處理器的角度,利用反匯編技術(shù),理解使用C/C++所編寫的程序的執(zhí)行細(xì)節(jié) 站在軟件設(shè)計(jì)的角度,利用 C/C++所蘊(yùn)含的程序設(shè)計(jì)思想,理解架構(gòu)的設(shè)計(jì)方法 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 從高級語言到底層物理模型 ? 從高級語言到軟件架構(gòu) 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 從高級語言到底層物理模型 ? 從高級語言到軟件架構(gòu) 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 為什么高級語言到底層物理模型這么重要? ? 問題 1: struct stru1 { char a。 short I。 }。 ?請問 stru1的大小( Size)是多少? ?對齊 ?什么是對齊?為什么要對齊 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 2: long * p。 int main() { addr()。 loop()。 } void addr() { long k。 k = 0。 p = amp。k。 } void loop() { long i, j。 j = 0。 for (i = 0。 i10。i++) { (*p)。 j++。 printf(―%d\n‖, i)。 } } 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 3: int main() { int i。 int a[10]。 for (i = 0。 i = 10。 ++i) { a[i] = 0。 printf(―%d\n‖, i)。 } exit(0)。 } 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 4: void main() { int * i。 allocateInt(i)。 printf(―*i = %d‖, *i)。 } void allocateInt(int * i) { i = (int *) malloc(sizeof(int))。 *i = 3。 } 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 5: f和 g誰快? int _tmain(int argc, _TCHAR* argv[]) { DWORD t1 = ::GetTickCount()。 for(int i = 0。 iNUM。 i++) f()。 DWORD t2 = ::GetTickCount()。 printf(%d\n, t2 t1)。 DWORD t3 = ::GetTickCount()。 for(int i = 0。 iNUM。 i++) g()。 DWORD t4 = ::GetTickCount()。 printf(%d\n, t4 t3)。 return 0。 } ? 答案: f快。 cache的作用 void f() { int a[N][N]。 for(int i=0。 iN。 i++) for(int j=0。 jN。 j++) a[i][j] = 0。 } void g() { int a[N][N]。 for(int i=0。 iN。 i++) for(int j=0。 jN。 j++) a[j][i] = 0。 } 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? L1和 L2 cache位于 cpu和內(nèi)存之間 ? 訪問速度快于內(nèi)存,但慢于寄存器 ? 采用了局部性原理: ? 當(dāng)訪問某一處內(nèi)存地址時(shí),下次再訪問該地址及附近區(qū)域的概率較大 ? 因此,當(dāng)程序訪問某個(gè)地址時(shí),該地址連同之后的某個(gè)大小的內(nèi)存空間的數(shù)據(jù),都會(huì)被讀入到 cache中 ? 下次訪問內(nèi)存中某個(gè)地址時(shí),會(huì)首先檢查 cache中是否有該地址的數(shù)據(jù),若有就沒有必要再訪問內(nèi)存了。速度大大提高。 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 6:下面兩段代碼誰的效率高? int a = 5。 int b = 0。 …………. if(a 0) { b = 1。 } else { b = 2。 } ? 答案:右邊效率高 ? 提示: CPU流水線分支預(yù)測 int a = 5。 int b = 0。 …………. if(a = 0) { b = 2。 } else { b = 1。 } 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 同樣是局部性原理:當(dāng) CPU執(zhí)行某條機(jī)器指令時(shí)(同樣存儲(chǔ)在內(nèi)存中),很大的概率會(huì)執(zhí)行該條指令下面的幾條指令 ? 流水線技術(shù)會(huì)提前為這幾條將要執(zhí)行的指令,做好準(zhǔn)備工作。(執(zhí)行這幾條指令的幾個(gè)階段:如從內(nèi)存中取指令、譯碼、準(zhǔn)備操作數(shù)等等) ? 當(dāng)遇到條件跳轉(zhuǎn)指令時(shí),有可能提前做的準(zhǔn)備是無用功 —— 跳轉(zhuǎn)發(fā)生了,很影響效率 ? 靜態(tài)分支預(yù)測:若跳轉(zhuǎn)是向下的,則預(yù)測為不跳轉(zhuǎn)(多為if類語句);若跳轉(zhuǎn)是向上的,則預(yù)測為跳轉(zhuǎn)(多為循環(huán)語句) ? 通常,大概率發(fā)生的分支,放在 if分支中,不要放在 else分支中 總體的學(xué)習(xí)方法 ——系統(tǒng)觀 ? 問題 7: ? 緩存是提高運(yùn)行速度的不二法寶 ? 比如寄存器是最快的 ? 一級緩存、二級緩存次之 ? 內(nèi)存 ? SSD ? 一般磁盤 ? 將要用的文件全部緩存到內(nèi)存,一定會(huì)提高訪問速度嗎?為什么? ? 頁面的換入換出 ? Windows進(jìn)程的線
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1