1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: keil5發生的奇怪問題 watch里的變量,有的可以手動改變,進行單步調試,有的不可以 [打印本頁]

作者: wh8010jky    時間: 2024-7-27 20:48
標題: keil5發生的奇怪問題 watch里的變量,有的可以手動改變,進行單步調試,有的不可以
w10上使用keil5,  發現watch里的變量,有的可以手動改變,進行單步調試,有的不可以,因此不能進行單步調試,如下:





NowT可以改變,s_for_Start1820不能改變,開始不明白是什么原因,
后來無意中發現:只要把main()中的變量,改成extern d的就行,
譬如上1圖中,改為extern uchar s_for_Start1820,   
2圖中改為 uchar s_for_Start1820,     watch 中就可以改變了,就可以單步調試了,
(1圖是main.c,     2圖是Sever.c  截圖)

更搞不懂的,明明一個變量只在一個文件中出現并使用,也必須在另一個不相干的文件中先定義為 uchar,,
然后在自己所在文件中改成  extern ,
如上面的 NowT,   原本在main 定義為 uchar。現在為了能單步調試,改成extern,  在其他任何一個文件中定義 uchar。

不懂是什么道理,請高手們幫忙解釋一下,謝謝!!


作者: xiaobendan001    時間: 2024-7-28 08:02
不懂,帶extern是同一個變量,不帶就是兩個,你改的可能是另外一個吧
作者: wh8010jky    時間: 2024-7-28 13:41
xiaobendan001 發表于 2024-7-28 08:02
不懂,帶extern是同一個變量,不帶就是兩個,你改的可能是另外一個吧

是的,是同一個變量。怪就怪在必須在兩個文件中定義,一個是正常定義(如uchar,  bit  ),  一個是聲明外部聲明。在keil4之前沒有這個問題,keil5里所有的變量但是這樣的要求。

你們的keil5沒有這樣的問題碼?我剛開始在w10里用keil5,  是我的系統有問題?keil4  在我的系統里不能用。
作者: npn    時間: 2024-7-29 11:18
wh8010jky 發表于 2024-7-28 13:41
是的,是同一個變量。怪就怪在必須在兩個文件中定義,一個是正常定義(如uchar,  bit  ),  一個是聲明外 ...

你要搞清楚Keil用的多少位的編譯器,內核是不一樣的:





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1