欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 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://m.raoushi.com/bbs/) Powered by Discuz! X3.1