C語(yǔ)言里面的typedef為什么反匯編之后找不到相關(guān)的編碼呢?
今天在一個(gè)群里看到這樣一個(gè)問(wèn)題:C語(yǔ)言里面的typedef? 為什么反匯編之后找不到相關(guān)的編碼呢?
要介紹這個(gè)問(wèn)題,就得首先搞明白typedef到底是什么。
百科上是這么解釋的:
typedef是在計(jì)算機(jī)編程語(yǔ)言中用來(lái)為復(fù)雜的聲明定義簡(jiǎn)單的別名,它與宏定義有些差異。
簡(jiǎn)單來(lái)說(shuō),就是僅僅給類(lèi)型起別名,那么,類(lèi)型是什么?
類(lèi)型是C語(yǔ)言抽象的結(jié)果,本質(zhì)上是用來(lái)確定數(shù)據(jù)長(zhǎng)度的,比如在32位環(huán)境中,int是4字節(jié)。同時(shí)語(yǔ)法層面的類(lèi)型檢查可以避免一些bug。
類(lèi)型別名其實(shí)是創(chuàng)建了一個(gè)一切都相同的累型,編譯時(shí)其實(shí)是一樣的,所以即使是直接用gcc的-S編譯成匯編代碼,也什么都看不出來(lái)。
具體例子回頭放評(píng)論區(qū)
標(biāo)簽: