|
發布時間: 2022-2-8 13:16
正文摘要:各位大神好,本人單片機+編程新手,今日編寫程序遇到了這個錯誤,百度查了一下說是變量table重復定義,但是我代碼涉及到table變量的只在一個頭文件里有,這是怎么一回事呢?因為已經糾結一段時間還是沒能搞定,特來 ... |
wojiaoguogai 發表于 2022-2-9 14:01 明白了!非常感謝你的解答! |
| 你定義在頭文件,就相當于在每個包含這個.h的.c文件里面全部定義了一遍 |
13205495918 發表于 2022-2-8 16:09 啊你就是給我發短消息的那位好心大佬!我昨天順著你的思路去修改了,最后運行成功了,非常感謝! |
devcang 發表于 2022-2-8 15:59 嗯嗯!謝謝你!你的方法是對的,我修改以后運行成功了! |
woshige 發表于 2022-2-8 14:48 感謝大佬!你的方法是對的,我昨天修改了這個定義就運行成功了! |
|
剛剛收到了一位好心大佬的短消息,說是在.h的數組定義那里要加上extern,我去修改了一下我的代碼,第一次是直接加了extern,但是編譯仍然不成功,于是我就順著這個思路,干脆把數組定義放在了.c文件中,并再在smg.h中聲明,這下就可以了! 非常感謝那位大佬的指引,可惜我這里還不能發短消息所以沒法直接回復,希望你能看到! |
| smg這個h文件的數組前加個extern |
| 變量定義在.c中,然后在.h中 extern 全局變量 |
| 希望能有大佬給我一個方向,第一次遇到這個問題確實有點迷茫 |
| 你這個table數組不要定義在頭文件里面,要定義也可以,但是不要給初值。給你提供說個方法你修改試一下,把table定義并初始化在smg.c文件里面,然后在smg.h中extern一下,這樣編譯應該就可以了。 |