找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么Keil編譯器會認(rèn)為我要寫匯編代碼?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:437083 發(fā)表于 2019-2-2 21:27 | 只看該作者 回帖獎勵 |正序?yàn)g覽 |閱讀模式
用的IDE是Keil μVision V5.26.2.0,是Keil官網(wǎng)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. }

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

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

使用道具 舉報(bào)

6#
ID:459868 發(fā)表于 2019-2-16 16:00 | 只看該作者
這是早期c語言規(guī)定的。把c語言標(biāo)準(zhǔn)換成c99就可以了
回復(fù)

使用道具 舉報(bào)

5#
ID:474232 發(fā)表于 2019-2-3 20:00 | 只看該作者

c語言基礎(chǔ)語法問題 VS 8051單片基本應(yīng)用,還要磨合一陣子了

評分

參與人數(shù) 2黑幣 +20 收起 理由
還有誰? + 8
站著說話不腰疼 + 12

查看全部評分

回復(fù)

使用道具 舉報(bào)

地板
ID:474677 發(fā)表于 2019-2-3 17:29 | 只看該作者
我估計(jì)應(yīng)該是編譯規(guī)則的問題,別的版本也有同樣情況,聲明還是要放在前面
回復(fù)

使用道具 舉報(bào)

板凳
ID:89515 發(fā)表于 2019-2-3 09:08 | 只看該作者
c語言基礎(chǔ)語法問題
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:164602 發(fā)表于 2019-2-3 08:52 | 只看該作者
申明放前面是沒有錯的。
至于為什么還不知道,也看到過全局變量寫中間也沒有報(bào)錯。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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