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

標題: 這是一個沒有解決的問題 [打印本頁]

作者: wh8010jky    時間: 2024-8-26 13:07
標題: 這是一個沒有解決的問題
這是一個一個月前提過的問題,一直沒有解決,今天再提,看看有沒有高手幫助解決。
問題是這樣的:
w10運行keil5, 如圖,
ushar NowTem=0 是 main()中的一個局部變量,在watch 中想給其賦一個值試試,結果馬上又恢復0,不能賦值,很不方便調試。
如果,先將其在其他任意一個函數(即使與本函數main沒有關系)中定義 uchar NowTem=0;   然后再在main 中聲明 extern uchar NowTem; 就行了,想怎么調試都行。
所有的變量都是這樣的:要想改變值調試,必須在其他函數中定義,然后聲明extern.
這個問題在 keil4 之前從未出現過,有朋友說,是 keil5 的版本問題,我在下載過幾次,在 keil 官網也下載過,結果都是這樣的,官網上有4個版本,我下的是C51, 官網上沒提是32還是64的。
朋友們,有沒有碰到過這個問題的?

截圖03.png (14.44 KB, 下載次數: 11)

截圖03.png

截圖04.png (13.5 KB, 下載次數: 11)

截圖04.png

截圖05.png (13.48 KB, 下載次數: 10)

截圖05.png

截圖06.png (13.08 KB, 下載次數: 11)

截圖06.png

截圖07.png (13.63 KB, 下載次數: 8)

截圖07.png

作者: 張天師    時間: 2024-8-26 17:52
設為全局變量試試
作者: donglw    時間: 2024-8-27 06:55
這涉及到局部變量和全局變量的問題,搞清楚它們的關系,可以解決上述問題。
作者: wh8010jky    時間: 2024-8-27 22:44
先謝謝張天師和donglw朋友!
試了,不行的,不管是局部變量還是全局變量,都不能睡意改變值,必須是extern(外部變量)才能改變值。
下面的兩個圖,一個是局部的,一個是全局的,沒錯吧?

截圖08.png (15.14 KB, 下載次數: 12)

截圖08.png

截圖09.png (14.29 KB, 下載次數: 10)

截圖09.png

作者: wh8010jky    時間: 2024-8-27 22:53
先謝謝張天師和donglw朋友!
關于局部變量和全局變量,早就試了,不行的,必須是extern(外部變量)才能隨意變值調試。
下面的兩個圖,一個是局部的,一個是旗艦店,沒錯吧。

截圖08.png (15.14 KB, 下載次數: 10)

截圖08.png

截圖09.png (14.29 KB, 下載次數: 15)

截圖09.png

作者: 藍藍小星星    時間: 2024-8-28 00:18
只看到定義,沒看到使用過程
作者: wh8010jky    時間: 2024-8-28 09:12
藍藍小星星 發表于 2024-8-28 00:18
只看到定義,沒看到使用過程

使用過程,就是改變變量的值,然后看程序運行情況,
譬如,if(NowTem==23){......}     if(NowTem==56){......}  
現在是不能隨意改變,永遠是初始值,所以不能馬上看到NowTem==23 或56時候的運行情況 。
要想看到特定條件下的情況,必須把這個變量在其他函數中定義,然后在本函數中聲明是外部變量。
這個問題在keil4 之前是沒有的,也就是在w10 使用keil5  調試時才發現的。
這樣說清楚了吧。
作者: 藍藍小星星    時間: 2024-8-28 10:43
只能說明現在還是處于局部變量上,加個關鍵詞給他,static
作者: wh8010jky    時間: 2024-8-28 15:49
藍藍小星星 發表于 2024-8-28 10:43
只能說明現在還是處于局部變量上,加個關鍵詞給他,static

剛才試了,不行。
static 是靜態變量,它的作用是在下次啟動時保持值不變。
現在的問題是一個普通變量,在調試過程中需要改變值看看效果。
作者: 藍藍小星星    時間: 2024-8-28 16:14
你是跨頁,多個.c文件使用了相同名字的變量了吧?感覺就是這樣所以才需要 extern
作者: xxxevery    時間: 2024-8-28 16:53
你最好把程序都貼出來,估計你也不太清楚局部變量和全局變量的深層次使用。局部變量和全局變量是可以同名的,但局部變量使用時會屏蔽同名的全局變量,說穿了還是兩個不同的變量。你首先要想清楚怎么使用,在同一個c文件中不同的函數中還是不同的c文件中
作者: wh8010jky    時間: 2024-8-30 10:39
問題解決了,重裝了keil5, 這次安裝在c盤,把以前安裝過的痕跡全部刪除干凈。前幾次都是安裝在其他盤。
折騰了好幾天,謝謝大家!




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