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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1727|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

keil5發(fā)生的奇怪問題 watch里的變量,有的可以手動(dòng)改變,進(jìn)行單步調(diào)試,有的不可以

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
w10上使用keil5,  發(fā)現(xiàn)watch里的變量,有的可以手動(dòng)改變,進(jìn)行單步調(diào)試,有的不可以,因此不能進(jìn)行單步調(diào)試,如下:





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

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

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1109793 發(fā)表于 2024-7-28 08:02 | 只看該作者
不懂,帶extern是同一個(gè)變量,不帶就是兩個(gè),你改的可能是另外一個(gè)吧
回復(fù)

使用道具 舉報(bào)

板凳
ID:134430 發(fā)表于 2024-7-28 13:41 | 只看該作者
xiaobendan001 發(fā)表于 2024-7-28 08:02
不懂,帶extern是同一個(gè)變量,不帶就是兩個(gè),你改的可能是另外一個(gè)吧

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

你們的keil5沒有這樣的問題碼?我剛開始在w10里用keil5,  是我的系統(tǒng)有問題?keil4  在我的系統(tǒng)里不能用。
回復(fù)

使用道具 舉報(bào)

地板
ID:57657 發(fā)表于 2024-7-29 11:18 | 只看該作者
wh8010jky 發(fā)表于 2024-7-28 13:41
是的,是同一個(gè)變量。怪就怪在必須在兩個(gè)文件中定義,一個(gè)是正常定義(如uchar,  bit  ),  一個(gè)是聲明外 ...

你要搞清楚Keil用的多少位的編譯器,內(nèi)核是不一樣的:
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表