close
偶爾也放些宅宅的筆記好了
最近在工作上porting一些open source 一直遇到build error
其實這是常常遇到的問題 只是我都亂解 XD
上網找資料找到前同事九年前的筆記 (在工作這一塊自己真是好廢 ><)
也來小小note一下 讓以後的自己參考吧!
library裡面的header file常常使用static inline的方式來直接實作一個簡短的function
而非把宣告寫在header file, 實作寫在c\cpp file
這樣可以用來取代DEFINE(只單純字串替換) 可以在complile time檢查type是否正確
但在不同的build environment下可能出現兩種error
1. 因為加上static 其他檔案無法reference到
2. multiple definiton error
有時候改改header file的順序就能解了
但根據上面的筆記看來 還是把實作寫到c\cpp file才是正解 (也是我目前正在進行的繁雜解法 ><)
那這樣到底為什麼一堆open source還是要這樣做呢?
文章標籤
全站熱搜
留言列表