新聞中心
PRESS CENTER“C語言運(yùn)行時Cruntime)”需要一-定的條件,這些條件由匯編來提供。c語言運(yùn)行時主要是需要棧
C語言與棧的關(guān)系:c語言中的局部變量都是用棧來實(shí)現(xiàn)的。如果我們匯編部分沒有給c部分預(yù)先設(shè)置合理合法的棧地址,那么C代碼中定義的局部變量就會落空,整個程序就死掉了。
我們平時在編寫單片機(jī)程序(譬如51單片機(jī))或者編寫應(yīng)用程序時并沒有去設(shè)置棧,但是c程序還是可以運(yùn)行的。原因是:在單片機(jī)中由硬件初始化時提供了一一個默認(rèn)可用的棧,在應(yīng)用程序中我們編寫的c程序其實(shí)并不是全部,編譯器(gcc)在鏈接的時候會幫我們自動添加一一個頭這個頭就是一段引 導(dǎo)我們的c程序能夠執(zhí)行的一段匯編實(shí)現(xiàn)的代碼,這個代碼中就幫我們的c程序設(shè)置了棧及其他的運(yùn)行時需要。