天天看點

【C/C++學院】0724-堆棧簡介/靜态區/記憶體完成篇/多線程

【送給在路上的程式員】

對于一個開發者而言,能夠勝任系統中任意一個子產品的開發是其核心價值的展現。

對于一個架構師而言,掌握各種語言的優勢并可以運用到系統中,由此簡化系統的開發,是其架構生涯的第一步。

對于一個開發團隊而言,能在短期内開發出使用者滿意的軟體系統是起核心競争力的展現。

每一個程式員都不能固步自封,要多接觸新的行業,新的技術領域,突破自我。

const是一個僞常量

代碼區是隻讀的

函數名稱就是函數的位址

堆的空間,由程式員控制

堆棧的生長方向

棧是連續的,向上增長,堆是連結的,向下增長。

通過列印的位址,可以進行驗證。

函數指針外挂

外挂原理,使用dllinject工具,給程序打針。後期可以自己實作這個工具。

打開任務管理器的時候,可以直接跳轉跟蹤到程序。利用打針的技術,可以實作移花接木的手段,比如,彈出一個對話,360警察哥哥,淘寶網銀風險等。

寄存器變量

c和彙編的混合程式設計

利用棧變量,卡死cpu,給程序打針實作惡搞。

棧的大小

函數參數的入棧順序,從右向左

全局static變量,//限定隻有本c檔案通路

局部static變量,隻會初始化一次。

變量的作用域

靜态區與棧區,靜态區與程式共存亡,靜态區配置設定優先于main函數

棧區,反複回收,反複釋放

靜态區與全局變量

全局變量

單線程的局限

總共5碗飯,一個人一次一碗一碗吃。 5個人每個人吃一碗。

一個女人10個月生一個孩子,10個女人一個月卻不能生一個孩子。多線程的局限

阻塞模式與并行模式

多線程實作資料的查找

|=========== 吳英強csdn部落格專欄==============|

==========|

|====== 每天進步一點點,健康快樂每一天 ========|

繼續閱讀