CPU眼裏的C/C++[Plus版]
楊曉濤
商品描述
作者簡介
目錄大綱
目 錄
第1章 預備知識
閱讀建議 001
1.1 極簡現代計算機系統 002
1.2 工具介紹 008
1.3 CPU眼裏的程序運行 011
1.4 CPU眼裏的匯編語言 014
第2章 基礎語法
閱讀建議 022
2.1 CPU眼裏的main函數 023
2.2 CPU眼裏的變量 025
2.3 CPU眼裏的goto、if else 030
2.4 CPU眼裏的指針變量 033
2.5 CPU眼裏的數組 038
2.6 CPU眼裏的數組越界 042
2.7 CPU眼裏的引用 049
2.8 CPU眼裏的i++和++i 052
2.9 代碼陷阱之類型轉換 055
第3章 函數原理
閱讀建議 058
3.1 CPU眼裏的參數傳遞 059
3.2 CPU眼裏的函數括號 066
3.3 CPU眼裏的函數調用和返回 070
3.4 CPU眼裏的函數指針 077
3.5 CPU眼裏的函數返回值 079
3.6 CPU眼裏的堆和棧 085
3.7 CPU眼裏的全局變量、靜態變量和臨時變量 091
3.8 CPU眼裏的變長數組 096
3.9 函數實驗之回溯函數調用關系 100
第4章 高級指針
閱讀建議 104
4.1 CPU眼裏的指針本質和風險 105
4.2 CPU眼裏的數組和指針 108
4.3 CPU眼裏的字符串和字符數組 114
4.4 CPU眼裏的數組和雙重指針 119
4.5 CPU眼裏的void指針 123
4.6 回調函數的故事 132
4.7 指針為什麼這麼難? 136
第5章 C++特性
閱讀建議 139
5.1 CPU眼裏的this 140
5.2 CPU眼裏的虛函數 142
5.3 CPU眼裏的構造函數 147
5.4 CPU眼裏的析構函數 150
5.5 CPU眼裏的class和struct 153
5.6 CPU眼裏的多態 160
5.7 CPU眼裏的模板 165
5.8 CPU眼裏的auto 167
5.9 CPU眼裏的thread_local 171
5.10 CPU眼裏的Lambda 175
5.11 CPU眼裏的運算符重載和函數對象 180
5.12 CPU眼裏的malloc和new 187
5.13 面向對象實踐之依賴反轉 190
第6章 高級編程
閱讀建議 195
6.1 CPU眼裏的常量 196
6.2 CPU眼裏的右值 199
6.3 CPU眼裏的volatile 204
6.4 CPU眼裏的系統調用 210
6.5 CPU眼裏的大端、小端 215
6.6 CPU眼裏的上下文 218
6.7 CPU眼裏的setjmp和longjmp 222
6.8 CPU眼裏的競爭和鎖 230
6.9 CPU眼裏的Atomic 237
6.10 CPU眼裏的Python和C 243
6.11 CPU眼裏的鍵盤驅動 247
6.12 CPU眼裏的Windows藍屏 253
第7章 現代CPU的高級功能及風險
閱讀建議 260
7.1 CPU眼裏的虛擬內存 261
7.2 CPU眼裏的進程、線程 267
7.3 CPU眼裏的地址映射 275
7.4 CPU眼裏的亂序執行 282
7.5 CPU眼裏的亂序執行和內存屏障 286
7.6 CPU眼裏的緩存 294
7.7 CPU眼裏的分支預測 300
![CPU眼裏的C/C++[Plus版]](https://cf-assets2.tenlong.com.tw/products/images/000/262/222/medium/108397-01.jpg?1778722726)
![CPU眼裏的C/C++[Plus版]-preview-1](https://cf-assets2.tenlong.com.tw/product_images/images/000/085/440/pjpeg/108397-01.jpg?1778722728)
![CPU眼裏的C/C++[Plus版]-preview-2](https://cf-assets2.tenlong.com.tw/product_images/images/000/085/441/pjpeg/108397-01.jpg?1778722730)
![CPU眼裏的C/C++[Plus版]-preview-3](https://cf-assets2.tenlong.com.tw/product_images/images/000/085/442/pjpeg/108397-01.jpg?1778722732)