中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

舊房改造室內(nèi)裝修設(shè)計(jì)公司seo黑帽有哪些技術(shù)

舊房改造室內(nèi)裝修設(shè)計(jì)公司,seo黑帽有哪些技術(shù),電腦哪里做模板下載網(wǎng)站,客戶(hù)管理系統(tǒng)排名目錄 gcc/g--編譯器 介紹 使用格式 通用選項(xiàng) 編譯選項(xiàng) 鏈接選項(xiàng) 程序編譯過(guò)程 預(yù)處理(宏替換) 編譯 (生成匯編) 分析樹(shù)(parse tree) 編譯優(yōu)化 刪除死代碼 寄存器分配和調(diào)度 強(qiáng)度削弱 內(nèi)聯(lián)函數(shù) 生成目標(biāo)代碼 匯編 (生成二進(jìn)制代碼) 鏈接(生成可執(zhí)行文件) 函…

目錄

gcc/g++--編譯器

介紹

使用格式

通用選項(xiàng)

編譯選項(xiàng)

鏈接選項(xiàng)

程序編譯過(guò)程

預(yù)處理(宏替換)

編譯 (生成匯編)

分析樹(shù)(parse tree)

編譯優(yōu)化

刪除死代碼

寄存器分配和調(diào)度

強(qiáng)度削弱

內(nèi)聯(lián)函數(shù)

生成目標(biāo)代碼?

匯編 (生成二進(jìn)制代碼)

鏈接(生成可執(zhí)行文件)?

函數(shù)庫(kù)

引入

介紹

動(dòng)態(tài)鏈接

?示例?編輯


gcc/g++--編譯器

介紹

是GNU編譯器集合(GNU Compiler Collection)中的兩個(gè)重要組件,用于編譯和鏈接程序

使用格式

g++也一樣

一般是:

通用選項(xiàng)

編譯選項(xiàng)

eg:

鏈接選項(xiàng)

eg:

?

程序編譯過(guò)程

預(yù)處理(宏替換)

預(yù)處理后,生成.i文件,可以通過(guò)-E選項(xiàng)拿到編譯的中間過(guò)程中的.i文件

編譯 (生成匯編)

  • 從.i文件中,編譯器會(huì)對(duì)其進(jìn)行詞法/語(yǔ)法/語(yǔ)義分析,并且會(huì)對(duì)代碼進(jìn)行優(yōu)化
  • 編譯后生成.s文件,使用-S選項(xiàng)可以拿到這個(gè).s文件
分析樹(shù)(parse tree)
  • 是一種用于表示源代碼語(yǔ)法結(jié)構(gòu)的樹(shù)狀數(shù)據(jù)結(jié)構(gòu),通常通過(guò)語(yǔ)法分析器生成
  • 它反映了源代碼中的各個(gè)語(yǔ)法元素(如關(guān)鍵字、運(yùn)算符、變量、函數(shù)調(diào)用等)之間的嵌套關(guān)系,幫助編譯器理解代碼的結(jié)構(gòu)并執(zhí)行后續(xù)的編譯步驟
  • 它將源代碼分解為一個(gè)個(gè)語(yǔ)法單元,然后根據(jù)編程語(yǔ)言的語(yǔ)法規(guī)則將這些單元組合成樹(shù)狀結(jié)構(gòu)

編譯優(yōu)化

為了提高計(jì)算機(jī)程序的執(zhí)行效率和性能,會(huì)進(jìn)行編譯優(yōu)化

刪除死代碼

實(shí)際不會(huì)產(chǎn)生作用的代碼:

  • 執(zhí)行不到的代碼
  • 執(zhí)行的到但是沒(méi)有用的代碼(沒(méi)有使用過(guò)的變量))
寄存器分配和調(diào)度
  • 很多編譯器會(huì)將 for循環(huán)的循環(huán)控制變量 調(diào)度到寄存器訪(fǎng)問(wèn)(寄存器快!)
強(qiáng)度削弱
  • 執(zhí)行時(shí)間較短的操作(指令)去代替一個(gè)耗時(shí)操作
  • 下面的代碼,由于需要使用的是計(jì)算的結(jié)果,因此中間數(shù)可以被替換掉(比如*變+):
#include <iostream> 
using namespace std; int main() 
{    int a1 = 5; int b1 = 17; int c1 = a1 * b1; cout << c1 << endl; // 強(qiáng)度削弱 int a2 = 5; int b2 = a2 << 4; int c2 = a2 + b2; cout << c2 << endl; return 0; 
} 
內(nèi)聯(lián)函數(shù)

除了編譯器自動(dòng)做出的優(yōu)化,程序員在編寫(xiě)的時(shí)候也需要手動(dòng)進(jìn)行優(yōu)化(因?yàn)榫幾g器沒(méi)有我們想的那么智能啦)

  • 內(nèi)聯(lián)函數(shù)(將 短小但常用的函數(shù) 定義為內(nèi)聯(lián)函數(shù)(inline),可以減少函數(shù)調(diào)用開(kāi)銷(xiāo))

  • 但其實(shí)內(nèi)聯(lián)函數(shù)也可以被編譯器自動(dòng)識(shí)別并使用

生成目標(biāo)代碼?
  • 將經(jīng)過(guò)語(yǔ)法分析和語(yǔ)義分析的源代碼轉(zhuǎn)化為目標(biāo)代碼,這個(gè)目標(biāo)代碼可以是匯編語(yǔ)言、中間代碼或直接的機(jī)器代碼,具體取決于編譯器的設(shè)計(jì)和目標(biāo)平臺(tái)
  • 代碼生成器的主要任務(wù)是將 [高級(jí)編程語(yǔ)言的源代碼] 翻譯成 [目標(biāo)平臺(tái)的可執(zhí)行代碼]

?

匯編 (生成二進(jìn)制代碼)

中間過(guò)程也有很多,就不介紹了

?

鏈接(生成可執(zhí)行文件)?

函數(shù)庫(kù)
引入
  • 我們?cè)谑褂脦?kù)函數(shù)時(shí),是直接調(diào)用+引用頭文件
  • 但是頭文件中只有函數(shù)聲明,那么實(shí)現(xiàn)在哪里呢?
介紹
  • 函數(shù)庫(kù)分為靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)?
  • 使用靜態(tài)庫(kù)的方式就是靜態(tài)鏈接,使用動(dòng)態(tài)庫(kù)的方式就是動(dòng)態(tài)鏈接
  • 其中,靜態(tài)庫(kù)內(nèi)存開(kāi)銷(xiāo)大,但不需要庫(kù)文件,后綴.a
  • 動(dòng)態(tài)庫(kù)開(kāi)銷(xiāo)很小,一份庫(kù)文件可以被多個(gè)程序共享使用,所以一般都會(huì)使用動(dòng)態(tài)鏈接,后綴.so
動(dòng)態(tài)鏈接
  • 當(dāng)程序運(yùn)行時(shí),動(dòng)態(tài)鏈接器會(huì)查找并加載所需的庫(kù),根據(jù)可執(zhí)行文件中的引用信息,將庫(kù)文件映射到進(jìn)程的地址空間
  • 動(dòng)態(tài)鏈接器解析程序中的未解析引用,將其與庫(kù)中的實(shí)際函數(shù)或符號(hào)關(guān)聯(lián)起來(lái)
  • 程序在運(yùn)行過(guò)程中,會(huì)調(diào)用庫(kù)中的函數(shù)或方法
  • 并且,庫(kù)是在運(yùn)行時(shí)加載的,因此庫(kù)的更新可以在不停止程序的情況下進(jìn)行

?示例
  • 直接編譯生成的是那個(gè)test(也就是使用了gcc的動(dòng)態(tài)鏈接)
  • test_static是在編譯的時(shí)候,選擇了使用靜態(tài)庫(kù)鏈接生成的
  • 可以看到大小差很多

?

總結(jié)來(lái)說(shuō),編譯過(guò)程的選項(xiàng)是" esc ",只不過(guò)在實(shí)際使用時(shí),只有c是小寫(xiě)字母,其他都是大寫(xiě)字母

http://www.risenshineclean.com/news/29318.html

相關(guān)文章:

  • 網(wǎng)站集群系統(tǒng)建設(shè)網(wǎng)站宣傳方法
  • 做黃色網(wǎng)站怎么賺錢(qián)瀏覽器下載大全
  • 沒(méi)有備案的網(wǎng)站可信嗎徐州seo外包
  • javaee可以做網(wǎng)站么seo收錄排名
  • 網(wǎng)站管理有哪些成人英語(yǔ)培訓(xùn)
  • 新冠病毒的最新動(dòng)態(tài)廣州seo網(wǎng)站公司
  • 一級(jí)造價(jià)師注冊(cè)查詢(xún)系統(tǒng)平臺(tái)入口求職seo推薦
  • 自建網(wǎng)站 做自定義導(dǎo)航小廣告網(wǎng)站
  • 網(wǎng)站建設(shè)方案書(shū)騰訊云搜資源
  • 電子畢業(yè)設(shè)計(jì)代做網(wǎng)站網(wǎng)絡(luò)銷(xiāo)售渠道有哪些
  • 了解網(wǎng)站開(kāi)發(fā) 后臺(tái)流程廣告公司經(jīng)營(yíng)范圍
  • 東莞做網(wǎng)站企業(yè)銘餐飲營(yíng)銷(xiāo)案例100例
  • 公司網(wǎng)站建設(shè)會(huì)議紀(jì)要網(wǎng)站seo優(yōu)化教程
  • 小學(xué)學(xué)校網(wǎng)站模板免費(fèi)下載蘇州網(wǎng)站建設(shè)開(kāi)發(fā)公司
  • 不會(huì)編程 做網(wǎng)站chinaz站長(zhǎng)素材
  • 免費(fèi)企業(yè)網(wǎng)站模板下載剛剛中國(guó)突然宣布
  • 醫(yī)療整形網(wǎng)站怎么做廣州seo排名優(yōu)化服務(wù)
  • c2c網(wǎng)站頁(yè)面設(shè)計(jì)特點(diǎn)企業(yè)網(wǎng)站seo點(diǎn)擊軟件
  • 做網(wǎng)站設(shè)計(jì)怎么進(jìn)企業(yè)漯河網(wǎng)站推廣公司
  • 網(wǎng)站查詢(xún)域名解析ip深圳網(wǎng)絡(luò)推廣培訓(xùn)學(xué)校
  • 華升建設(shè)集團(tuán)公司網(wǎng)站免費(fèi)建一個(gè)自己的網(wǎng)站
  • 最好的網(wǎng)站建設(shè)價(jià)格上海b2b網(wǎng)絡(luò)推廣外包
  • 淘寶網(wǎng)站頁(yè)面設(shè)計(jì)找廣告商的平臺(tái)
  • plone cms Wordpress拼多多seo怎么優(yōu)化
  • 做網(wǎng)站買(mǎi)了域名之后關(guān)鍵詞在線(xiàn)優(yōu)化
  • 安卓一鍵制作app軟件長(zhǎng)春網(wǎng)站優(yōu)化
  • 自己做的網(wǎng)站在瀏覽器上顯示不安全簡(jiǎn)述seo和sem的區(qū)別與聯(lián)系
  • 東莞哪里有做企業(yè)網(wǎng)站的安卓?jī)?yōu)化大師app下載
  • 劉濤給孩子網(wǎng)站做的廣告惠州seo網(wǎng)站排名
  • 淄博網(wǎng)站推廣公司大連seo建站