日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2020-10-27(汇编收获)

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020-10-27(汇编收获) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 從匯編的角度去理解指針和引用
  • 從匯編角度去理解靜態數據成員仿佛就是一個全局變量,放在內部就相當于只能由類內部來訪問,限制了它的訪問權限。更加安全。靜態數據成員ds段的固定的地址值,數據段。ps:兩個類中定義了相同的靜態數據成員 ,相當于定義了兩個不同的全局變量!
  • 從匯編角度以及內存角度去理解虛函數的調用,利用了虛表
  • null就是一個宏定義 #define null 0 表示整型,nullptr專門表示指針為空,既0
  • 編譯模板所在的源文件時,沒有發現任何人使用此模板,是不會生成相應的函數實現的!所以模板放在頭文件里面,不會放聲明和實現分開來放,一般放在hpp中!編譯時把每個cpp源文件分開編譯成obj文件,鏈接時來糾正main函數里面call的地址!(既模板未被使用時,不會被實例化出來,也就不會生成相應的函數代碼)所以模板的聲明和實現如何分離到頭文件和源文件中,會導致鏈接錯誤
  • 默認參數只能寫在函數聲明里面,不能寫在實現里面!
  • c語言中沒有函數重載!extern “c”代表后面的東西按照C語言的方式去編譯
  • c++可以允許對某些式子賦值,eg:(a=b)=2,((a>b)?a:b)=2;但c語言不可以 .
  • c語言不支持函數重載,c++和java支持函數重載
  • c++中的cpp文件有個默認的宏定義叫做#define __cplusplus(注意,開頭是兩個下劃線 ),不用自己寫,文件默認有的。c文件前面沒有這個宏定義。
  • #ifdef +宏定義 #endif (如果你定義了這個宏定義,才讓你編譯,如果沒有,則不編譯),此可以結合第十條和第七條來達到c和cpp文件混合開發
  • 寫在頭文件當中,防止頭文件被重復包含來編譯:#ifndef +宏定義(eg:ABC)
    #define +同一個宏定義(eg:ABC)
    #endif +同一個宏定義(eg:ABC)
    (如果你沒有定義ABC這個宏(#ifndef +宏定義),那么我就定義這個宏(define+宏定義),定義這個宏后就可以參與編譯)在頭文件被包含在源文件時,編譯時候,第一次出現的宏定義才會編譯,第二次出現相同的宏定義則不會編譯。這種可以防止頭文件被重復包含。
  • 編譯時只編譯源文件,包含的頭文件相當于直接復制粘貼在源文件中。源文件時單個編譯,鏈接時再把每個源文件編譯的obj文件中的main源文件的obj文件的不確定地址改正等等操作。
  • .main文件的不確定地址是因為函數實現在其他地方cpp文件中,main文件使用到函數時只是包含頭文件而已,并非由函數主體,在編譯時,只有函數主體在的地方才有確定的函數地址,main文件編譯成的obj文件中函數的地址都是不確定地址,鏈接時才會去把所有obj的文件連接起來改正main文件編譯的函數不確定地址這些操作。
  • windows下面的堆棧分配是從高地址往低地址分配的。(特記)
  • int 9號中斷非常麻煩,一般都不是自己寫一個9號中斷,把所有鍵盤接收的東西都進行分類批發處理,也沒有這個必要,要做的也就差不多跟病毒的原理一樣
  • 但凡能以實現搞定都不要用繼承
  • 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的2020-10-27(汇编收获)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。