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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

當C文件中含有多種類似圖中的.C和.h文件時,需要怎么做可以避免類似重復定義的問題?

查看數(shù): 4041 | 評論數(shù): 7 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-4-30 14:53

正文摘要:

回復

ID:711376 發(fā)表于 2020-5-3 19:13
mcucludet 發(fā)表于 2020-4-30 16:41
別全一股腦加上,必須有一個確切。其他文件需要。不然大家都找其他文件最后都找不到。樓主可以看下該詞解 ...

已經(jīng)解決了,只要別在C文件直接調(diào)用別的C文件,只調(diào)用那些C文件對應(yīng)的頭文件就行,就不會出現(xiàn)重復定義問題了
ID:462827 發(fā)表于 2020-4-30 18:33
要學會使用 #ifdef 這些條件預編譯
ID:711376 發(fā)表于 2020-4-30 17:08
黃youhui 發(fā)表于 2020-4-30 15:36
重復定義可以是函數(shù)名重復定義,變量重復定義。避重定義的方法:

1不要在.h文件里面定義全局變量,在,c文 ...

好的,萬分感謝
ID:700854 發(fā)表于 2020-4-30 16:41

別全一股腦加上,必須有一個確切。其他文件需要。不然大家都找其他文件最后都找不到。樓主可以看下該詞解釋。
ID:711376 發(fā)表于 2020-4-30 16:10
piliming 發(fā)表于 2020-4-30 15:33
每個C文件的函數(shù),加extern

我試了不行的
ID:741674 發(fā)表于 2020-4-30 15:33
每個C文件的函數(shù),加extern
ID:592807 發(fā)表于 2020-4-30 14:53
重復定義可以是函數(shù)名重復定義,變量重復定義。避重定義的方法:

1不要在.h文件里面定義全局變量,在,c文件的全局變量要和局內(nèi)變用不同方式命名,比如全局變用下劃線開頭
2宏定義盡量放在.c文件,如果要在.h文件里存放宏定義最好在加上附屬名字,比如
#define LCD_RST_PORT GPIOB
#define IIC_1_SDA_PORT GPIOC
#define SPI1_SDA_PORT GPIOA
IIC和SPI都有SDA 和SCK引腳并且很多單片機不止一個SPI和IIC(模擬IIC硬件IIC)
如果在在.h文件宏定義不加附屬名字就很容易重復定義
3.在h文件里面不要隨便包含.h文件,如果要調(diào)用就在.c文件里面加,我以前被這個害慘了
4.函數(shù)名重復定義,這個在相同的函數(shù)名后面加_1 _2既可以阻止命名想通了
5慎用extern關(guān)鍵字,別隨意將其他文件的變量引進

這只是我所知道的,可能并不完全,希望能幫到你

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表