91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

15行代碼引發(fā)1800多行編譯錯誤:問題排查挑戰(zhàn)

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2025-02-12 11:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫了 15 行代碼,編譯報錯竟然高達 1800 多行,這種奔潰的瞬間應(yīng)該有很多同學(xué)遇到過。

代碼分為兩塊,一個頭文件,一個源文件。

test.h

#ifndef TEST_H
#define TEST_H

#include 

size_tlength(constchar*s)


#endif

test.c

#include "test.h"
#include 
#include 
#include 
#include 


int main()
{
    printf("%d
", length("aa"));
}


size_t length(const char *s) 
{
    return strlen(s);
}

開始編譯,當(dāng)敲下回車的那一刻,瞬間有點上頭,編譯報錯已經(jīng)超出了終端的范圍,一直往上翻到頭也沒找到編譯的命令。

我嘗試把錯誤定向到文件中,看了一下,有 1800 多行。

難怪很多初學(xué)者只需要半天時間從入門到放棄,這么多錯誤,根本無從下手。

先來大概分析下,提示的這些錯誤基本都是標(biāo)準(zhǔn)頭文件里面的錯誤,比如 stdio.h,很顯然,這是不可能的。

/usr/include/stdio.h:911:14: error: storage class specified for parameter ‘ctermid’
  911 | extern char *ctermid (char *__s) __THROW
      |

這個問題,一定是跟頭文件有關(guān),而且大概率是你寫的頭文件,影響了別人的頭文件,比如函數(shù)聲明的后面少了分號。

當(dāng) test.h 被展開的時候,由于函數(shù)聲明后面沒有加分號,導(dǎo)致其他被展開的頭文件都不合符語法要求,頭文件包含的越多,報錯也就越多。如果這個時候真的去標(biāo)準(zhǔn)頭文件里面找問題,基本就廢了。

編譯問題在C語言中應(yīng)該是最簡單的問題,現(xiàn)在的編譯器足夠智能,甚至能告訴你怎么修該。多寫代碼,遇到的多了,就能形成條件反射,看到問題,就能知道怎么修改。

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

    關(guān)注

    30

    文章

    4968

    瀏覽量

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

    關(guān)注

    0

    文章

    694

    瀏覽量

    35177

原文標(biāo)題:寫了15行代碼,編譯報錯1800多行

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    編譯 MPC5775K 的外部中斷時遇到的錯誤如何解決?

    當(dāng)我為MPC5775K編譯外部中斷程序,參考示例“示例-MPC5775K-PIT-ISR-v1_0-GHS614”,并使用S32DS PoWer2.1時,遇到了這些編譯錯誤結(jié)果(圖1)。這些錯誤(圖
    發(fā)表于 03-02 07:19

    Keil編譯錯誤匯總

    1. 編譯時出現(xiàn)Undefined symbol EXTI_Init (referred from exti.o).解決: ①檢查頭文件路徑是否添加 ②檢查相對應(yīng)的庫是否添加。此處最容易忽略,而本人
    發(fā)表于 01-21 07:40

    下載模式的切換之后,會出現(xiàn)編譯錯誤的解決辦法

    一、隊伍介紹 本篇為蜂鳥E203系列分享第一篇,本篇介紹的內(nèi)容是解決下載模式的切換之后出現(xiàn)編譯錯誤問題。 二、問題提出 在進行下載模式切換之后,進行編譯,提示如下圖所示的錯誤: 三、問題解決 下載
    發(fā)表于 10-30 08:11

    電商API常見錯誤排查指南:避免集成陷阱

    ? 在電商平臺開發(fā)中,API集成是連接系統(tǒng)、實現(xiàn)數(shù)據(jù)交換的核心環(huán)節(jié)。然而,許多開發(fā)者在集成過程中常遇到錯誤,導(dǎo)致項目延遲、數(shù)據(jù)丟失或用戶體驗下降。本文將逐步介紹常見錯誤類型、排查方法以及預(yù)防策略
    的頭像 發(fā)表于 07-11 14:21 ?2054次閱讀
    電商API常見<b class='flag-5'>錯誤</b><b class='flag-5'>排查</b>指南:避免集成陷阱

    編譯錯誤: error: unrecognizable insn,不知道原因,請教!

    用start_gui.exe生成的代碼,再用SEGGER Embedded打開,編譯有錯,不知道是什么原因,請教各位大佬?
    發(fā)表于 06-23 14:45

    RTsmart源碼編譯錯誤,提醒我缺少文件導(dǎo)致make失敗,為什么?

    出現(xiàn) 不理解,之前都是不會出現(xiàn)這種錯誤的,懷疑是源碼拉取缺少了部分文件 不僅如此,編譯了YOLO的可執(zhí)行文件也無法實現(xiàn),提醒VICAP初始化失敗超時,打不開標(biāo)簽文件,模型無效,我沒有改過YOLO部分代碼
    發(fā)表于 06-20 06:25

    手動添加cubeMX的軟件自動生成代碼后,編譯出現(xiàn)’rtthread.elf’:No Such File 的錯誤怎么解決?

    手動添加cubeMX的軟件自動生成代碼后,編譯出現(xiàn)’rtthread.elf’:No Such File 的錯誤。
    發(fā)表于 06-12 07:46

    使用rt-thread構(gòu)建openmv的固件工程,出現(xiàn)編譯錯誤的原因?

    使用rt-thread構(gòu)建openmv的固件工程,用的都是示例工程,代碼一點也沒有改動,直接編譯出現(xiàn)錯誤
    發(fā)表于 06-12 07:23

    JDK從8升級到21的問題集

    " ?sun.misc.BASE64Encoder等內(nèi)部API廢棄 → 引發(fā)編譯錯誤 ?JAXB/JAX-WS從JDK核心剝離 → XML處理鏈斷裂 ?Lombok與新版
    的頭像 發(fā)表于 06-06 16:49 ?852次閱讀

    打開FSP配置器界面的具體步驟

    如果目標(biāo)工程項目是新建的項目,可以直接編譯并通過。但是若是新導(dǎo)入的項目,需要先打開FSP配置界面重新生成FSP庫相關(guān)代碼,然后再進行編譯,否則會提示編譯錯誤。具體步驟如下。
    的頭像 發(fā)表于 05-06 15:58 ?1970次閱讀
    打開FSP配置器界面的具體步驟

    如何將調(diào)用方函數(shù)的MATLAB代碼導(dǎo)入到DS?

    我最近制作了一個包含調(diào)用方函數(shù)的模型(我已將模型附加到 zip 文件中)。代碼構(gòu)建正常。但是當(dāng)我在 design studio 中導(dǎo)入代碼時,它會引發(fā)錯誤,因為它無法編譯或?qū)胨形募?/div>
    發(fā)表于 04-02 06:51

    大規(guī)模硬件仿真系統(tǒng)的編譯挑戰(zhàn)

    大規(guī)模集成電路設(shè)計的重要工具。然而,隨著設(shè)計規(guī)模的擴大和復(fù)雜度的增加,硬件仿真系統(tǒng)的編譯過程面臨著諸多挑戰(zhàn)。本文旨在探討基于FPGA的硬件仿真系統(tǒng)在編譯過程中所遇到的關(guān)
    的頭像 發(fā)表于 03-31 16:11 ?1445次閱讀
    大規(guī)模硬件仿真系統(tǒng)的<b class='flag-5'>編譯</b><b class='flag-5'>挑戰(zhàn)</b>

    BSP36 gcc_11.3.0編譯錯誤的原因?怎么解決?

    在 Yocto 項目中構(gòu)建 BSP36 時遇到 gcc_11.3.0 編譯錯誤。 詳細日志如下: [i]/usr/src/debug/gcc/11.3.0-r0/build/gcc
    發(fā)表于 03-27 08:19

    直流充電測試負載常見故障排查

    分信號,確認幅值在2-3V范圍。某實驗室曾因屏蔽層接地不良導(dǎo)致信號振鈴,引發(fā)CRC校驗錯誤率升高至15%。 BMS模擬失效:重點檢測電池模型參數(shù)配置,驗證SOC-內(nèi)阻曲線設(shè)置合理性。某廠商因未更新
    發(fā)表于 03-18 12:32

    使用STM32H563遇到程序編譯時顯示編譯錯誤怎么解決?

    使用STM32H563遇到程序編譯時顯示編譯錯誤,原因是空間不夠了,在不改變硬件的情況下有什么方法讓空間變大嗎
    發(fā)表于 03-13 07:34