《程式設計師的自我修養》閱讀筆記(三)

2022-07-30 08:33:12 字數 1129 閱讀 5471

第10章 記憶體

函式呼叫慣例。函式返回值通常儲存在暫存器eax,然後由呼叫者讀取,對5-8位元組返回值,通常由eax儲存低4位,edx儲存高4位。而返回值大於8位元組時,呼叫過程大致如下:

聲名狼藉的c++返回物件。為此,c++提出了返回值優化(return value optimization,rvo)這樣的技術。

linux下兩種堆空間分配方式,即兩個系統呼叫:brk()系統呼叫和mmap()。

第12章 系統呼叫與api

中斷。中斷號對應中斷處理程式(interrupt service routine,isr),這種對應通過中斷向量表。

中斷號有限,不一一對應。使用者將系統呼叫號放入eax,然後使用int 0x80呼叫中斷,中斷服務程式就可以從eax裡取得系統呼叫號,進而呼叫對應的函式。

插入: ss, sp, bp 三個暫存器

ss:存放棧的段位址;

sp:堆疊暫存器sp(stack pointer)存放棧的偏移位址;

bp: 基數指標暫存器bp(base pointer)是乙個暫存器,它的用途有點特殊,是和堆疊指標sp聯合使用的,作為sp校準使用的,只有在尋找堆疊裡的資料和使用個別的定址方式時候才能用到。比如說,堆疊中壓入了很多資料或者位址,你肯定想通過sp來訪問這些資料或者位址,但sp是要指向棧頂的,是不能隨便亂改的,這時候你就需要使用bp,把sp的值傳遞給bp,通過bp來尋找堆疊裡資料或者位址.

使用者態到核心態的切換:

軟體開發工具包(外語首字母縮寫:sdk、外語全稱:software development kit)。

第13章  執行庫實現

操作符函式。new、delete、+、-、*等都有對應操作符函式。

全域性操作符過載;也可以過載某個類的new、delete。

程式設計師的自我修養閱讀筆記03

今天來談一下程式設計師的煩惱,哦哦哦哦哦。大多數如我一般的初學者,最大的煩惱就是 不會程式設計,程式設計好難。嗯。至少我的是如此。1.也是我們比較關心的問題 是否還應該留在一線城市 大人們的思想搞不懂,2.這個我比較感興趣 小公司做的事太繁雜了 3.好像與我無關的樣子 創業公司中的危機感 4.還好 ...

程式設計師的自我修養閱讀筆記03

本次讀了第六節,提給年輕程式設計師的職涯建議 盡早確定你想做的事情,相當於是確定乙個目標,並不斷向這個目標努力。目前現在我沒有確定我想做什麼方向,但肯定是在it行業,具體是軟體工程師,或是別的方向還需要一步一步的做,多去了解這方面的,首先先要擴寬自己的知識面,多去了解,才能知道自己要在那個方向發展。...

程式設計師的自我修養閱讀筆記02

本次讀了第四節,每個程式設計師都應該了解的事。總結為以下幾點 1,讀與技術無關的書 2,會寫文件 3,學會包裝 4,嘗試多講 5,建立社會化聯絡 內容上來說,讀與技術無關的書可以豐富自己的知識面,讓你可以與更多人交流,而不僅僅是你的技術,會寫文件非常重要,文件是衡量一名程式設計師是否足夠優秀的重要標...