開發平台(Platform): (Ex: Win10, Linux, ...) win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Atmel studio GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
小弟第一次在這發文,如有不對煩請指證,謝謝!
目前正在學習韌體開發,遇到一個結構與標頭檔使用的問題,問題如下:
我在範例程式專案中加入了我自己寫的Library,分別為a_measure.c、
a_measure.h、a_REG.h,結構都放在a_REG.h裡面。
範例為b.c、b.h
現在我想把a_measure.c運算後的結果存放進a_REG.h的一個名為temp的結構裡面
,並且讓b.c能夠存取temp的內容。
我的認知中,應該是只要在b.c#include "a_REG.h" 這個標頭檔即可使用temp
這個結構,並能賦值與取值。
目前的各函式include內容:
a.c => #include a.h
#include a_REG.h
b.c => #include a_REG.h
但是,在實作的後卻出現a_REG.h多重定義的錯誤。
將a_REG.h從b.c拿掉後卻又造成temp undeclared。
怎麼做都不對...故想請問各位先進該如何解決呢?
或是有參考的資料,謝謝!
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
抱歉,程式內容過於龐大,無法貼上來...請見諒
補充說明(Supplement):