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

標題: 為什么Keil編譯器會認為我要寫匯編代碼? [打印本頁]

作者: Humorize    時間: 2019-2-2 21:27
標題: 為什么Keil編譯器會認為我要寫匯編代碼?
用的IDE是Keil μVision V5.26.2.0,是Keil官網2018年的版本,它的編譯器是C51 Compiler V9.59.0.0
  1. #include<reg51.h>
  2. typedef unsigned int u16;
  3. void main()
  4. {
  5. P0=0x01;
  6. u16 i;
  7. }

復制代碼
把聲明新變量的語句放在給8位IO口賦值的語句后會讓編譯器報如下錯誤:
  1. syntax error near 'u16', expected '__asm'
  2. 'i': undefined identifier
復制代碼
如果交換代碼的第5、6行,那么編譯器不報錯
為什么先給8位IO口賦值再聲明新變量會讓編譯器報錯


作者: HC6800-ES-V2.0    時間: 2019-2-3 08:52
申明放前面是沒有錯的。
至于為什么還不知道,也看到過全局變量寫中間也沒有報錯。
作者: mengzhixinheng    時間: 2019-2-3 09:08
c語言基礎語法問題
作者: iofree    時間: 2019-2-3 17:29
我估計應該是編譯規則的問題,別的版本也有同樣情況,聲明還是要放在前面
作者: 鉆牛尖滴劉尖尖    時間: 2019-2-3 20:00

c語言基礎語法問題 VS 8051單片基本應用,還要磨合一陣子了
作者: 獅巴瑞    時間: 2019-2-16 16:00
這是早期c語言規定的。把c語言標準換成c99就可以了




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