原创 C++函數調用棧細節(gdb調試)

一覽本文目的測試代碼彙編代碼gdb調試遺留問題尾語 本文目的     之前從其他地方看到過,調用函數時,會把下一條指令地址入棧,再把函數入棧,形參從右到左入棧,出棧順序相反。但是自己一直也沒有觀察過。所以本文在gcc5.4下,通

原创 x86-64架構下函數調用棧與32位下的不同之處

一覽本文目的x86-64下打印參數地址判斷參數入棧順序的做法不合理情況1:函數調用參數從右向左存放到寄存器,又從左到右存放到棧情況2:棧頂不增長,參數存放在棧頂之外參數多於寄存器數量,參數會入棧測試總結尾語 本文目的     之

原创 muduo中的原子操作

一覽本文目的atomic背景gcc __syncc++11內存模型gcc __atomic源碼尾語 本文目的     在muduo中,考慮到線程安全,自定義了原子操作類AtomicIntegerT,代碼中全部採用了gcc的原子操

原创 RAII手法的互斥鎖——muduo中的實現

一覽本文目的宏定義部分代碼正文尾語 本文目的     在學習muduo網絡庫時,對裏面採用了RAII方法線程安全的互斥鎖實現,感到比較精妙,就讀了源碼,在讀源碼的過程中,遇到了一些問題,解決這些問題也花費了一些時間。感覺其他人可

原创 FPGA基礎-芯片結構

   轉自https://blog.csdn.net/times_poem/article/details/51351997 目前主流的FPGA仍是基於查找表技術的,已經遠遠超出了先前版本的基本性能,並且整合了常用功能(如RAM、時鐘

原创 FPGA基礎-LUT

 資料來源:http://wenku.baidu.com/link?url=QoNSMH7pejiuGqV22sKLVTr2zdHxORcr0R3RnOlNuK17164pHfnBtleayAFQn72Ge2wNUPteF8mcqoG

原创 C++多態,虛函數,虛函數表

一覽本文目的多態多態作用虛函數與多態尾語 本文目的     最近看了《深入探索c++對象模型》,被其中關於虛函數的各種繼承的內存結構,繞來繞去,十分糾結。在網上看了各種博客,雖然很多博客在某一方面講的很詳細,但是看起來缺少整體感

原创 dynamic_cast的幾種情況

一覽本文目的基類有虛函數基類無虛函數尾語 本文目的     最近秋招看到一個有意思的問題,對一個沒有虛函數的對象使用dynamic_cast會發生什麼情況。想一想平時基本沒用過dynamic_cast,於是乾脆寫點代碼驗證一下各

原创 調用private/protected修飾的虛函數

一覽本文目的代碼不可行的直接調用可行的指針調用尾語 本文目的     前些天面試,被問到一個很有意思的問題:c++中能否調用protected修飾的虛函數,之前沒有嘗試過,所以只能靠直覺回答:“在技術上,只要知道虛函數表的地址就

原创 三次握手——從完成隊列和未完成隊列談起

一覽本文目的隊列與三次握手狀態兩個隊列大小的指定未完成隊列滿已完成隊列滿已完成隊列滿對未完成隊列的影響尾語 本文目的     很早之前在看UNP的時候,發現書中對listen函數的第二個參數backlog有所講解,即關於未完成隊

原创 x86-64架構下函數調用棧的特別之處

一覽本文目的x86-64下打印參數地址判斷參數入棧順序的做法不合理情況1:函數調用參數從右向左存放到寄存器,又從左到右存放到棧情況2:棧頂不增長,參數存放在棧頂之外參數多於寄存器數量,參數會入棧總結尾語 本文目的     之前,

原创 gdb調試

轉自https://www.cnblogs.com/life2refuel/p/5396538.html 引言 Linus心靈雞湯   在*nix開發中有道卡叫gdb調試,不管你怎麼搞. 它依然在那絲毫不會鬆動.今天致敬一個 活着的傳奇 

原创 C++函數調用細節(gdb調試)

一覽本文目的測試代碼彙編代碼gdb調試遺留問題尾語 本文目的     之前從其他地方看到過,調用函數時,會把下一條指令地址入棧,再把函數入棧,形參從右到左入棧,出棧順序相反。但是自己一直也沒有觀察過。所以本文在gcc5.4下,通

原创 C++在gcc下的單繼承,多繼承,虛繼承的內存佈局

一覽本文目的gcc下不同繼承方式的存儲模型單繼承單繼承無重寫:單繼承重寫多重繼承多繼承無重寫:多繼承重寫:虛繼承多重繼承無法解決的模型真正的菱形繼承尾語 本文目的     最近看了《深入探索c++對象模型》,被其中關於虛函數的各

原创 C++內存分配粗略概覽

一覽本文目的內存分配體系尾語 本文目的     在C++內存分配方面,會見到很多操作:new、delete、new[]、delete[]、operator new、 operator delete、malloc、 free、 S