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還是要這樣做呢?

arrow
arrow
    文章標籤
    Coding Note
    全站熱搜

    shellyplanet 發表在 痞客邦 留言(0) 人氣()