【正文】
of bss segment+def __stack=0x17ff 不同的芯片__stack內(nèi)容不同,由系統(tǒng)自動(dòng)生成如何實(shí)現(xiàn)位操作Cosmic C 編譯器支持位變量的操作,可以將其定義成 _Bool類型。_Bool類型的變量只包含兩種值true(1)或者false(0)。若將一個(gè)表達(dá)式賦值給_Bool變量,則編譯器會(huì)將表達(dá)式與0做比較,然后將布爾值賦給_Bool變量。因此,任何整型或者表達(dá)式的值都可以賦給_Bool變量。但是,布爾變量不能定義位數(shù)組,只能定義成結(jié)構(gòu)體或者聯(lián)合。而且,_Bool變量會(huì)被打包成字節(jié)的形式。編譯器會(huì)將所有的全局_Bool變量打包成字節(jié)形式, section中。局部_Bool變量也會(huì)被打包成字節(jié)形式。但是_Bool類型的參數(shù)會(huì)被擴(kuò)展成一個(gè)單字節(jié)。具體的關(guān)于位變量的定義和使用可參考如下例子:定義位變量:_Bool in_range。_Bool p_valid。char *ptr。使用位變量:in_range = (value = 10) amp。amp。 (value = 20)。p_valid = ptr。 /* p_valid is true if ptr not 0 */if (p_valid amp。amp。 in_在使用位變量時(shí),若程序編譯時(shí)提示如下錯(cuò)誤:error clnk Debug\:1 no default placement for segment .bitThe mand: clnk lC:\Program Files\COSMIC\\Lib o Debug\ mDebug\ sa Debug\ has failed, the returned value is: 1exit code=1.實(shí)際上是由于, section??砂凑杖缦虏襟E, section:打開項(xiàng)目鏈接配置窗口:Project Settings Linker,選擇 Input 目錄項(xiàng)在Zero page 或者 Ram section.然后重新編譯一下就可以了。