色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【編譯問(wèn)題】很詭異的編譯報(bào)錯(cuò)expected declaration or statement at end of input

嵌入式物聯(lián)網(wǎng)開(kāi)發(fā) ? 來(lái)源:嵌入式物聯(lián)網(wǎng)開(kāi)發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開(kāi)發(fā) ? 2022-12-07 08:58 ? 次閱讀

**【C語(yǔ)言進(jìn)階】很詭異的編譯報(bào)錯(cuò)expected declaration or statement at end of input **

一個(gè)很詭異的編譯報(bào)錯(cuò),不仔細(xì)還真發(fā)現(xiàn)不了!

1 問(wèn)題現(xiàn)場(chǎng)

有一天我在調(diào)試代碼的時(shí)候,剛剛代碼還好好的,突然來(lái)了一個(gè)報(bào)錯(cuò):

recan@ubuntu:~/11111$ gcc -o test 111/222/333/444/555/666/777/888/999/test.c 
 111/222/333/444/555/666/777/888/999/test.c: In function ‘test3’:
 111/222/333/444/555/666/777/888/999/test.c:37:1: error: expected declaration or statement at end of input
    37 | }
       | ^

這就讓我很納悶,咋回事呢?

2 復(fù)現(xiàn)代碼

我們來(lái)看下當(dāng)時(shí)的代碼,為了說(shuō)明問(wèn)題,我把無(wú)關(guān)代碼都刪除了,僅保留有效代碼:

?
 #include 
 ?
 int test1(void)
 {
 return 0;
 }
 ?
 int test2(void)
 {
 return 0;
 }
 ?
 ?
 int test3(void)
 {
 return 0;
 ?
 ?
 int test4(void)
 {
 return 0;
 }
 ?
 ?
 int test5(void)
 {
 return 0;
 }
 ?
 ?
 int main(void)
 {
     printf("__FILE__: %s\\n", __FILE__);
 return 0;
 }
 ?

示例代碼很簡(jiǎn)單,就是一堆的函數(shù),然后啥也沒(méi)干。

3 編譯分析

**根據(jù)編譯報(bào)錯(cuò),我們看下,提示 **line37行 報(bào)錯(cuò)了? 37行不是文件的結(jié)束嗎?

**報(bào)錯(cuò)的英文對(duì)應(yīng)的中文含義是:**錯(cuò)誤:輸入末尾應(yīng)為聲明或語(yǔ)句

很顯然不是37行有問(wèn)題嗎?我的main函數(shù)肯定沒(méi)有問(wèn)題???

那么有沒(méi)有可能是前面的函數(shù)有問(wèn)題啊?

**原來(lái)是 line16 中的test3函數(shù),少了結(jié)尾的 **} 大括號(hào),導(dǎo)致了編譯報(bào)錯(cuò)的蔓延。

當(dāng)然,解決這個(gè)編譯問(wèn)題也很簡(jiǎn)單,把test函數(shù)的大括號(hào)補(bǔ)上即可。

4 小小總結(jié)

  • 排查編譯問(wèn)題,不要僅局限于報(bào)錯(cuò)的行號(hào),找找上下文,可能別人的錯(cuò)誤導(dǎo)致了你的錯(cuò)誤;
  • **誤刪一行 **} 大括號(hào),不經(jīng)意間就報(bào)錯(cuò)了;
  • 代碼管理,一定要用起來(lái);這種情況,實(shí)在不行就比對(duì)下代碼,很容易就發(fā)現(xiàn)問(wèn)題了。

5 更多分享

[架構(gòu)師李肯]

架構(gòu)師李肯全網(wǎng)同名 ),一個(gè)專(zhuān)注于嵌入式IoT領(lǐng)域的架構(gòu)師。有著近10年的嵌入式一線開(kāi)發(fā)經(jīng)驗(yàn),深耕IoT領(lǐng)域多年,熟知IoT領(lǐng)域的業(yè)務(wù)發(fā)展,深度掌握IoT領(lǐng)域的相關(guān)技術(shù)棧,包括但不限于主流RTOS內(nèi)核的實(shí)現(xiàn)及其移植、硬件驅(qū)動(dòng)移植開(kāi)發(fā)、網(wǎng)絡(luò)通訊協(xié)議開(kāi)發(fā)、編譯構(gòu)建原理及其實(shí)現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構(gòu)、主流IoT云平臺(tái)的對(duì)接、嵌入式IoT系統(tǒng)的架構(gòu)設(shè)計(jì)等等。擁有多項(xiàng)IoT領(lǐng)域的發(fā)明專(zhuān)利,熱衷于技術(shù)分享,有多年撰寫(xiě)技術(shù)博客的經(jīng)驗(yàn)積累,連續(xù)多月獲得RT-Thread官方技術(shù)社區(qū)原創(chuàng)技術(shù)博文優(yōu)秀獎(jiǎng),榮獲[CSDN博客專(zhuān)家]、[CSDN物聯(lián)網(wǎng)領(lǐng)域優(yōu)質(zhì)創(chuàng)作者]、[2021年度CSDN&RT-Thread技術(shù)社區(qū)之星]、[2022年RT-Thread全球技術(shù)大會(huì)講師]、[RT-Thread官方嵌入式開(kāi)源社區(qū)認(rèn)證專(zhuān)家]、[RT-Thread 2021年度論壇之星TOP4]、[華為云云享專(zhuān)家(嵌入式物聯(lián)網(wǎng)架構(gòu)設(shè)計(jì)師)]等榮譽(yù)。堅(jiān)信【知識(shí)改變命運(yùn),技術(shù)改變世界】!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137401
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    661

    瀏覽量

    32967
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1305

    瀏覽量

    40302
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RX231系列MCU舊工程打開(kāi)編譯報(bào)錯(cuò)問(wèn)題解決方法

    RX231系列MCU舊工程打開(kāi)編譯報(bào)錯(cuò),使用新版本為Renesas e2 studio,Version: 2023-04 (23.4.0)
    的頭像 發(fā)表于 01-03 12:32 ?1236次閱讀
    RX231系列MCU舊工程打開(kāi)<b class='flag-5'>編譯</b><b class='flag-5'>報(bào)錯(cuò)</b>問(wèn)題解決方法

    I2C boot使用ARM GCC編譯pass, 改用ARM MDK編譯報(bào)錯(cuò)怎么解決?

    I2C boot 使用ARM GCC 編譯pass, 改用ARM MDK 編譯報(bào)錯(cuò)如下, 怎么解決,謝謝! cannot open source input file &quo
    發(fā)表于 06-03 06:06

    編譯例程pipeline_bt_source失敗怎么解決?

    編譯其他ADF庫(kù)里的例程沒(méi)有問(wèn)題,就這個(gè)會(huì)出錯(cuò),初步分析是ADF庫(kù)里調(diào)用了IDF庫(kù)的函數(shù),但是找不到,不知道要怎么將它們關(guān)聯(lián)起來(lái),以下是編譯報(bào)告: C:/Users/HUANG/esp
    發(fā)表于 06-28 06:38

    mplab編程C,程序編譯不出來(lái)

    declaration specifiers before 'main'interrupts.c:43:1: error: expected '{' at end of input
    發(fā)表于 08-05 15:17

    DSP2812 ccs3.3編譯報(bào)錯(cuò)At end of source: error: expected a "}",但實(shí)際上沒(méi)少“}”

    急救,請(qǐng)諸位大神解疑釋難:采用DSP2812,在 ccs3.3環(huán)境下編譯報(bào)錯(cuò)At end of source: error: expected a "}",但實(shí)際上沒(méi)少“}”
    發(fā)表于 06-21 11:49

    DSP2812在ccs3.3環(huán)境下報(bào)錯(cuò)At end of source: error: expected a "}",但實(shí)際上沒(méi)少“}”

    急救,請(qǐng)諸位大神解疑釋難:采用DSP2812,在 ccs3.3環(huán)境下編譯報(bào)錯(cuò)At end of source: error: expected a "}",但實(shí)際上沒(méi)少“}”
    發(fā)表于 06-21 11:55

    CC3200 應(yīng)用示例中編譯報(bào)錯(cuò)

    CC3200 應(yīng)用示例中 wlan_station_Release編譯報(bào)錯(cuò)“OSI_OK,” expected an identifier在枚舉定義時(shí)報(bào)錯(cuò)
    發(fā)表于 03-22 13:50

    請(qǐng)問(wèn)數(shù)組定義報(bào)錯(cuò):#19 extra text after expected end of number是什么原因造成的?如何解決?

    本帖最后由 一只耳朵怪 于 2018-6-14 08:48 編輯 我用CCS6.0定義了一個(gè)數(shù)組,編譯時(shí)報(bào)這個(gè)錯(cuò)誤:#19 extra text after expected end
    發(fā)表于 06-13 07:03

    進(jìn)入buildroot-2016.11手動(dòng)編譯 make 全部包提示 libgpgme-1.7.1 包無(wú)法編譯通過(guò)是為什么?

    ',' or ';' before '{' token{^context.cpp:1645:1: error: expected '}' at end of input}^make[6
    發(fā)表于 01-13 08:47

    吳鑒鷹總結(jié)的Keil編譯常見(jiàn)問(wèn)題(一)

    吳鑒鷹總結(jié)的Keil編譯常見(jiàn)問(wèn)題,例如:.error: #18: 6.error: #18: expected a ")" 如果是出現(xiàn)在c 文件中 多半是因?yàn)樯倭艘粋€(gè)")"或者錯(cuò)誤行有編譯器不識(shí)別的字符 如果出現(xiàn)在頭文件中
    發(fā)表于 07-22 15:31 ?0次下載

    IAR編譯問(wèn)題

    的,就好比組1有.h文件但是組2 沒(méi)有然后編譯就會(huì)報(bào)錯(cuò)。解決辦法就是將相關(guān).h文件復(fù)制到相關(guān)的所有文件夾里面問(wèn)題二:修改好了編譯沒(méi)報(bào)錯(cuò),調(diào)試的時(shí)候不能單步運(yùn)行,也打不了斷點(diǎn),這時(shí)候需要
    發(fā)表于 12-03 10:36 ?8次下載
    IAR<b class='flag-5'>編譯</b>問(wèn)題

    CCS編譯器 報(bào) error: expected a “)“ 的錯(cuò)誤

    使用CCS 進(jìn)行m430f5529的開(kāi)發(fā)過(guò)程中,編譯器報(bào)error: expected a “)” 的錯(cuò)誤。當(dāng)時(shí)以為是自己少了括號(hào),但是認(rèn)真檢查后發(fā)現(xiàn)無(wú)誤,經(jīng)過(guò)反復(fù)的嘗試,發(fā)現(xiàn)只要函數(shù)的輸入?yún)?shù)為N
    發(fā)表于 12-16 16:56 ?14次下載
    CCS<b class='flag-5'>編譯</b>器 報(bào) error: <b class='flag-5'>expected</b> a “)“ 的錯(cuò)誤

    error:expected identifier before ‘(‘ token,結(jié)構(gòu)體指針宏定義錯(cuò)誤

    error:expected identifier before ‘(’ token,結(jié)構(gòu)體指針宏定義錯(cuò)誤編譯時(shí)彈出標(biāo)題所示錯(cuò)誤,一般為宏定義里有與其他地方重復(fù)的常量符號(hào)。找出名字重復(fù)的符號(hào)并修改
    發(fā)表于 01-13 15:42 ?11次下載
    error:<b class='flag-5'>expected</b> identifier before ‘(‘ token,結(jié)構(gòu)體指針宏定義錯(cuò)誤

    VScode編譯器如何配置C/C++編譯環(huán)境

    昨天有伙伴私信我,為什么我用C語(yǔ)言寫(xiě)的hello world幾行代碼,在編譯器里面報(bào)錯(cuò)了呢?
    的頭像 發(fā)表于 03-16 08:38 ?5672次閱讀

    【GCC編譯運(yùn)行報(bào)錯(cuò)】error while loading

    【GCC編譯】運(yùn)行編譯后的程序報(bào)錯(cuò) error while loading shared libraries: lib*.so: cannot open shared object file
    的頭像 發(fā)表于 08-26 13:14 ?7501次閱讀
    【GCC<b class='flag-5'>編譯</b>運(yùn)行<b class='flag-5'>報(bào)錯(cuò)</b>】error while loading
    主站蜘蛛池模板: 最近韩国HD免费观看国语| 国产精品九九久久| 2019午夜75福利不卡片在线| 久久丫线这里只精品| 国产看黄网站又黄又爽又色| 最近在线视频观看2018免费| 最近中文字幕在线中文高清版| 24小时日本在线观看片| 亚洲午夜精品A片久久WWW软件 | 把腿张开JI巴CAO死你H教室| 在线免费中文字幕| 亚洲精品国产精品麻豆99| 谁有成人网站地址| 午夜福到在线2019| 亚洲视频一区在线| 在线国产a不卡| JIZZ学生13| 国产欧美日韩视频怡春院| 高h原耽肉汁动漫视频| 国产精品日本欧美一区二区| 极品美女穴| 免费国产久久啪在线| 日韩AV成人无码久久精品老人| 亚洲 日本 欧美 中文字幕 | 麻豆E奶女教师国产精品| 欧美熟妇互舔20p| 特级淫片大乳女子高清视频| 亚洲午夜一区二区电影院| 97亚洲狠狠色综合久久位| 国产成人教育视频在线观看| 高h超辣bl文| 久久99re7在线视频精品| 男生jj插入女生jj| 无码成人AAAAA毛片含羞草| 正能量不良WWW免费窗口| 芭乐草莓樱桃丝瓜18岁大全| 国产制服丝袜91在线| 你是淫荡的我的女王| 午夜理论片日本中文在线| 总攻催眠受的高h巨肉np| 国产AV精品白浆一区二|