1. 本質
採用了name mangling或者叫name decoration
✓ C++編譯器預設會對符號名(比如函式名)進行改編、修飾,有些地方翻譯為“命名傾軋”
✓ 過載時會生成多個不同的函式名,不同編譯器(MSVC、g++)有不同的生成規則
✓ 通過IDA開啟【VS_Release_禁止優化】可以看到
2.F9 是開啟斷點
3.證明c++ 可以根據函式的(引數不同) 而去改函式的名字
:反彙編
游標到第一個呼叫函式的地方:F9 之後不是ctr+F5 是直接F5就行了 之後右擊就會出現 反彙編
4.
5.
c++與c語言是一樣的,printf 裡面用雙引號
6.
vs 2019 不在顯示機器碼,我圈的也不是機器碼
7.
二進位制轉十進位制4位一補,不過還是從右到左2的·0 1 2 3次方?????????總結的不對
https://jingyan.baidu.com/article/597a0643614568312b5243c0.html (二轉10)
https://jingyan.baidu.com/article/39810a23e3779db636fda6c5.html
與其說像他說的8位一補,不如說 二轉10 就是不用補,直接不用劃分成幾塊,,直接從右到左2的0123456次方 有多少直接次方遞增就行
還不是二轉8 不是8的0123456次方,而還是2的0123456只不過8進位制是3位一補 ,,,2的012 沒有了不能在遞增其次方了
8.2個16進位制位 等於8個二進位制的個數 所以 2個16進位制位 代表1個位元組
9.
10.
11.
12.
用這個證明???????