之前在測試 UEFI Application 的網路功能時,都習慣在我自己的小電腦﹝GB-BXi7-4770R﹞上面測試。
一直以來都以為是缺少 Simple Network Protocol,故我有從 UDK 2014 build 出此 driver,只要在 shell 下 load 此 driver,便可以成功使用 network。
最近無意間在 BIOS 選單裡發現下面選項,Boot \ CSM parameters \ Network stack。
只要 enable 它後,就不用再手動 load driver 了。
這樣更方便我用自己的電腦驗證公司程式了,不然一塊那麼大的 mother board 放在桌上還得了,重點是還要跟人借 DRAM,一點都不方便。
當然也不用再手動插入 load driver 在我們的 shell script 了,RD 就是要聰明工作才行。
pretty code
2018年4月27日 星期五
2018年4月18日 星期三
ANSI/ISO/IEC 9899-1999
剛在網路上查了一下
電子檔要 US 60
https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+9899-1999+(R2005)
Shit,好想買
又怕沒時間看
看看 Golang 的過過癮好了
電子檔要 US 60
https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+9899-1999+(R2005)
Shit,好想買
又怕沒時間看
看看 Golang 的過過癮好了
2018年4月16日 星期一
2018年4月13日 星期五
C bool type
C 語言從 C99 開始,增加了 bool 這個關鍵字。
嚴格來說是 _Bool,bool 只是 marco,其目的是為了與 C++ 相容。
使用 bool 時,需 include <stdbool.h>。
至於我用的 TDM-gcc-32﹝4.9.2﹞,因為從此版開始,已經有支援一部份的 C99,故很多 C99 功能可以直接用。
但是預設是 -std=gnu89,我們可以看一下網頁說明。
這也說明了為什麼不用指定 -std=c99,就可以使用 bool、"//" C++ 單行註解以及 for loop variable i。
請參考底下連結:
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/C-Dialect-Options.html#C-Dialect-Options
C 果然還是博大精深,我想我還太嫩了吧。
嚴格來說是 _Bool,bool 只是 marco,其目的是為了與 C++ 相容。
使用 bool 時,需 include <stdbool.h>。
至於我用的 TDM-gcc-32﹝4.9.2﹞,因為從此版開始,已經有支援一部份的 C99,故很多 C99 功能可以直接用。
但是預設是 -std=gnu89,我們可以看一下網頁說明。
-std
‘gnu89’
GNU dialect of ISO C90 (including some C99 features). This is the default for C code.
這也說明了為什麼不用指定 -std=c99,就可以使用 bool、"//" C++ 單行註解以及 for loop variable i。
請參考底下連結:
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/C-Dialect-Options.html#C-Dialect-Options
C 果然還是博大精深,我想我還太嫩了吧。
2018年3月30日 星期五
2018年3月16日 星期五
跳出當下
昨天下班到現在,一直在 parsing log 的 code 中鬼打牆
原本 code 已經寫好
故意測試一些 error case
想要把 error line 的訊息列印出來
因為 fgets 會將行尾的 \r \n 視為合法字元
如果列印出來 message 就會多斷行一次
於是寫了幾行 code 濾掉 \r \n
這時卻發現程式陷入了無限迴圈
明明只有幾行 code
不應該是 while loop 呀
後來才發現不是在這幾行 code while loop
而是因為將 \r \n 濾掉
導致昨天寫好的 code parsing rule 改變了
寫程式似乎很容易陷入盲點
總會以為 bug 是剛寫的 code 引起的
其實這樣說也沒錯
只是錯誤不一定就發生在那些 code 中
如果能夠跳出當下
將眼光放遠
不要執著在那幾行 code
現在應該已經改到下一階段了吧
這就是人生呀
原本 code 已經寫好
故意測試一些 error case
想要把 error line 的訊息列印出來
因為 fgets 會將行尾的 \r \n 視為合法字元
如果列印出來 message 就會多斷行一次
於是寫了幾行 code 濾掉 \r \n
這時卻發現程式陷入了無限迴圈
明明只有幾行 code
不應該是 while loop 呀
後來才發現不是在這幾行 code while loop
而是因為將 \r \n 濾掉
導致昨天寫好的 code parsing rule 改變了
寫程式似乎很容易陷入盲點
總會以為 bug 是剛寫的 code 引起的
其實這樣說也沒錯
只是錯誤不一定就發生在那些 code 中
如果能夠跳出當下
將眼光放遠
不要執著在那幾行 code
現在應該已經改到下一階段了吧
這就是人生呀
訂閱:
文章 (Atom)

