羞羞小视频在线观看_羞羞视频免费入口网站_羞羞视频下载APP_男女羞羞视频软件

技術(shù)資料>51單片機(jī)

IAR 連接源文件時(shí)出現(xiàn)duplicate definitions錯(cuò)誤

發(fā)布時(shí)間:2018-04-03   瀏覽量:

Duplicate definitions從字面上看就是重復(fù)定義的意思。

那么,為什么會(huì)出現(xiàn)這個(gè)問題呢?原因就是多個(gè)文件定義全局變量的時(shí)候一個(gè)變量的定義間接地出現(xiàn)在了多個(gè)地方。

下面詳細(xì)說一下出現(xiàn)錯(cuò)誤的原因吧!

我在下面的頭文件中定義了一個(gè)全局變量flag.

然后我把它包含在主文件中:

這樣,flag在文件stm32f4xx_it.h中定義了一次,然后被main.c包含進(jìn)來,又被定義了一次,所以就出現(xiàn)錯(cuò)誤。

下面說說怎么解決這個(gè)錯(cuò)誤吧!

首先,要知道的是全局變量的定義要放在.c文件里而不是.h(頭文件)中。同時(shí)刪除頭文件中變量的定義。

同時(shí)在.h(頭文件)中說明變量一下為extern,不然編譯的時(shí)候會(huì)出現(xiàn)未定義錯(cuò)誤。(注意:這里說明變量的時(shí)候不能再給他賦值,會(huì)出錯(cuò)。)

這樣,錯(cuò)誤就化解了。希望能幫到大家。