發表文章

目前顯示的是 10月, 2025的文章

文章總列表

軟體架構,C語言,維持Header file彼此獨立

圖片
緣起 我提供某個服務service.h給大家用,今天要講裡面SERVICE_SZ_A參數的故事 // service.h #define SERVICE_SZ_A (10) struct {     u32 user_a_data[ SERVICE_SZ_A ] } 來自USER_A的抱怨 SERVICE_SZ_A 其實是USER_A維護的,在另外一個地方也定義了 // user_a_intf.h #define USERA_SZ (10) 兩個參數放在兩個檔案,不一致會出錯,現在我們有 維護問題 了 service.h user_a_intf.h 來自USER_A的建議 簡單粗暴,希望這個參數,統一由USER_A提供,不要再自己定義了 // service.h #include "user_a_intf.h" // avoid the interface duplication struct {     u32 user_a_data[ SERVICE_SZ_A ] } 我不打算接受這個建議 service.h想維持獨立(不依賴別人) 其他吃service.h的人,未必需要user_a_intf.h(介面的污染) 如果user_a_intf.h如果也吃service.h,會產生circular inclusion,有潛在的問題 最後的解法 最後我們找到完美的解法,既可以維持介面獨立,又可以解決維護問題,兩個人都滿意 服務端service.h 維持獨立 ,最終的長相就是那樣 在USER_A多放user_a_err_chk.c做檢查,工作量不多 // user_a_err_chk.c #include "service.h" #include "user_a_intf.h" #if SERVICE_SZ_A != USER_A_SZ     #error #endif 在需要保持介面獨立的地方,做個副本(duplication),然後再找地方檢查,大家就開心了 這題我遇過很多次,腦袋得稍微轉彎,我預期以後還要再用。寫下來,下次可以直接用 問AI的意見 這題應該有前人解過(Internet找得到),問問AI的看法,看起來是沒問題的

中雙塔專案,結案報告,Day#2

圖片
上路吧 準備車子比較簡單,補好破胎,充飽電,檢錄完就搞定了;人繼承昨天疲勞,腳酸酸,人累累,站上起跑線也算準備完成。今天要騎塔塔加公路,在阿里山區繞,從甲仙出來,再南下直奔鵝鑾鼻,里程417K,4500M爬升,限時28H 日月潭 大會幫我拍到一張照片,賺大啦 3H06,11:06,65K,CP1和社門市 騎下日月潭,穿過水里龍神廟,我最期待的 塔塔加公路 來了。電動玩具(Rouvy)的Tatajia Hill Climb我刷過三次, 真實世界 全景的震撼,陳有蘭溪橋樑蜿蜒曲折,騎過樹木光影精細變化,連續而細膩的坡度起伏,光騎這段今天就值了 騎到和社門市3H如預期喝完兩壺水(500ml/H),爬塔塔加公路最後補給點,吃泡麵補滿電解質,再外帶手捲,整備25分鐘再上 6H35,14:35,107K,CP2塔塔加(+1842M) 剩下爬坡1800M大概要3H;兩壺水填裝125ml糖漿和運動飲料,一壺再加迪卡儂蔓越莓BCAA粉甜死人,剛好到山頂喝光。整數路牌吃蔓越莓,0.5吃運動飲料,沿路自動補水補膠 兩個手捲,一個在1H吃,另外一個山頂吃,確保有柴燒 爬山約1.5H遇到 KMCC高美車隊 的 大丹哥 ,感謝您的水和可樂;路上也遇到同車隊的 優尼克 ,兩位前輩的文字紀錄提供大量情報,讓我制定計劃,勇敢在這裡騎車,再次感謝 2023大丹哥 北段紀錄 , 南段紀錄 2024優尼克 北段紀錄 , 南段紀錄 預想不到, 訓練方式 , 2024參賽心得 瘋系列參賽心得 檢錄點提供薑茶,咖啡,搭配山下帶上來的手捲,吃飽喝足繼續走 塔塔加公路終點(21)/阿里山公路終點(18) 這張圖可能有用,過了這裡,路牌變成台18線 8H27,16:27,151K,石槕門市 阿里山公路混雜著緩下坡,陡下坡,上坡,並不是輕鬆滑到目的地。框煞下坡,而且是不熟悉路段必須拉長煞車距離。照車友建議在石槕門市補滿水 9H23,17:23,176K,CP3山美大橋 溜往龍美遇到磅礴大雨,參加瘋系列活動淋淋雨才對味。左轉嘉129下切到達娜伊谷,溜得我瑟瑟發抖,煞車在抖動啊! CP3山美大橋,吃瘋系列傳統的雞腿麵兩碗,稍微休息,準備騎今天最凶險的路段 13H45,21:45,242K,甲仙門市(66K/ 4H22) 從山美大橋,穿過青山巷到台29線的地圖如下,在蜿蜒曲折沒燈的山區前進。下過雨後非常潮濕,爬升913M照著...

中雙塔專案,結案報告,Day#1

圖片
2025/10/10,下午2點搭上大會接駁車前往富貴角,感謝家人支持讓我來玩,開騎前和夕陽合影 今天騎中雙塔北段328K/22H/6500爬升,能力所及的準備都做了,上吧 陽金公路 台北市 北宜公路,宜蘭 北橫宜蘭支線,南山,思源啞口,環山,梨山 大禹嶺,武嶺 埔里箱根 1H38M,20:38,24K,CP1二子坪停車場 巴拉卡公路大概6%爬升1000M,經過萊爾富左轉,看到于右任墓就快到山頂 3H19M,22:19,57K,北新門市 摸黑下山撞上坑洞,主力燈具扣具掛了,心慌慌,沒這顆燈就不用比了。還好燈具是Garmin接頭,碼表座裝頭燈解決這題 穿過台北市紅綠燈地獄回回血,看到新店捷運站補滿水要爬北宜了 5H36M,00:36,102K,CP2縣界公園 我唸大學單車環島兩次,騎過一次北宜,以前路上還有人撒冥紙供奉亡魂,現在路旁乾淨多了。北宜公路大概50K爬升1000,難度不高也得要2H通過;而且得留力北進武嶺。踩到縣界公園,和家人報平安,我跳過龍蝦泡麵先下山了 我第一次深夜騎往宜蘭,停下來看了好幾次夜景。現在會早早扣下煞車安全下山,下坡不敢飆車了。不曉得我騎北宜最佳時間是20年前的我,還是今晚呢(笑) 6H56M,01:56,134K,宜蘭內城門市 生理時鐘的威力來了,溜下北宜,在蘭陽平原騎車,理論上都要快速推進;可惜現在是睡覺時間,騎得軟爛無比,使不上力 2024/11雙塔520,AM12出發 2025/2東三塔,AM1在台東東河 2025/10中雙塔,AM1在蘭陽平原 撐到內城門市,北進武嶺最後補給點,再來得騎3H/60K到南山,吞下補給繼續趕路 BCAA膠囊*8 咖啡因膠囊*2 鹽巴膠囊*2 三角飯糰*2 8H25M,03:25,160K,百韜橋 以前農曆年,我從新竹騎車走北橫到宜蘭,每年都會被阿嬤罵,罵幾次還是要騎 2009年換工作,排單車之旅當畢業旅行。第二天騎到梨山腳軟軟,肩酸酸,偷雞找汽車幫我載背包外套去關雲山莊,然後糗大了。太陽下山越來越冷,想催速度也沒有,最後又黑又冷嚕到觀雲山莊 Day#1新竹 - 北橫 - 宜蘭羅東 Day#2羅東 - 中橫宜蘭支線 - 觀雲山莊 Day#3觀雲山莊 - 武嶺 - 太魯閣 當年還是小鮮肉騎三天都覺得難,過了16年參加中雙塔,一天抵三天,當然瑟瑟發抖 車友#155在百韜橋喊住我,補滿水,來罐紅牛。台七甲全線暗摸摸...