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

標題: keil4 C語言變量重復定義的問題 [打印本頁]

作者: 迷迷惘惘    時間: 2019-5-19 23:07
標題: keil4 C語言變量重復定義的問題
最近在練習模塊化編程,現在我有兩個.c文件,都要用到 uint16,我在每個.h文件里都寫了  typedef  unsigned int uint16;
可是軟件報錯,
Build target 'Target 1'
compiling LCD設計的秒表.c...
compiling miaob.c...
DELAY.H(4): error C231: 'uint16': redefinition
compiling delay.c...
DELAY.C(4): error C231: 'uint16': redefinition
Target not created
我該怎么改呢


作者: yzwzfyz    時間: 2019-5-20 07:52
把錯誤信息譯成你能懂的語言,按照提示去改。
作者: HC6800-ES-V2.0    時間: 2019-5-20 08:34
錯誤231,就是重復定義。
你的頭文件,應該加上條件編譯就沒問題了。
就是:
#ifndef
......
#endif
這樣,就不會有重復編譯的錯誤
作者: w282529350    時間: 2019-5-20 08:44
就寫一次

或者提升一級,做成一個公用的.h文件,在里面定義
作者: 774559006    時間: 2019-5-20 08:45
只需要定義一個,然后另外一個.c文件包含定義的那個.h文件,就可以使用里面宏定義的東西了
作者: ssk7793    時間: 2019-5-20 09:11
放在一個公共的.h
作者: 迷迷惘惘    時間: 2019-5-20 12:33
774559006 發表于 2019-5-20 08:45
只需要定義一個,然后另外一個.c文件包含定義的那個.h文件,就可以使用里面宏定義的東西了

好嘞,謝謝
作者: 迷迷惘惘    時間: 2019-5-20 12:34
ssk7793 發表于 2019-5-20 09:11
放在一個公共的.h

好嘞,謝謝你
作者: 幻劍心    時間: 2019-5-20 14:19
如果你在.c中include了.h,那么頭文件和.C可以理解為是連通的,所有的在一個文件里,都起作用的。如果你在DELAY.C里include了DELAY.h,同時兩個文件里都有typedef  unsigned int uint16: 那么肯定會提示重定義。去掉其中一個就行。如果沒有include,就沒問題。
作者: 三感    時間: 2019-5-22 09:36
#define   unsigned int uint




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