醉裡挑燈看Code
2019年7月31日 星期三
UEFI Application - EntryPoint
›
一般我們在寫 UEFI Application 時,有 3 種方式可以寫,不同方式有不同的 Entry 及套用的 Library,一般來說越下層的 Entry 其檔案 size 也越大,注意這裡指的下層是指呼叫的層級順序,非指底層。 不同的 Entry,其預設的字串編碼也...
2019年7月23日 星期二
或躍在淵
›
夏研先生在其著作《陪你飛一程:科技老鳥30年職場真心話》第四章或躍在淵中提到底下這一段話: 無論是在一個新創公司,或是一個五百大企業,市場在變、局勢在變、周圍的情況也在變化。 埋頭苦幹的時代已經過去,眼觀四面、耳聽八方才是保命之道。 如果有一個優先次序,可以從幾個角度思維...
2019年7月22日 星期一
memset in UEFI
›
最近常常操作 unsigned long long 的 2 維陣列,故突發奇想,是否可以使用 memset 來 init 1 個大於 1byte 且非 0 的值呢? 上面是 C11 規格書中提到的 memset 定義,我們可以看到第 2 個參數雖然接受的是 1 個 int...
2019年7月19日 星期五
LShiftU64 釋疑
›
原本以為 LShiftU64 是我們自己寫的函數,後來才發現是 Library\BaseLib 裡面的函數,看了一下說明,跟直接使用 Standard C 操作似乎並沒兩樣? 我唯一能想到的合理解釋就是為了方便 porting,例如為了 32bit 的執行檔,只是不知道這樣是...
2019年7月18日 星期四
我的 10 吋電子書閱讀器在哪裡
›
自從 Onyx Boox Note Lite 掛掉後,都不能看 PDF 的書籍。 原本打算直接下訂 mooInk Pro,沒想到還是得在特定的時間上網搶購,真不知道之前登記的意義在哪裡?剛好最近又很忙,搶購當天早上 1 點才睡,4 點就起床,7 點出頭就在辦公室寫 Code ...
2019年7月12日 星期五
VC 編譯警告取消方式
›
UEFI 下存取記憶體時,有時會有 C4305 和 C4306 的編譯警告,但是那個 address 就是我們要的,暫時解法可以使用 marco 來取消此警告。 #pragma warning(push) #pragma warning(disable:4305) #pr...
UEFI Boot Variable 取值注意事項
›
困擾我一個星期的問題終於解決了! 一般來說,我們在取 Boot Variable 時,會先取得 BootOrder 這個變數的內容,因為裡面的 1 個開機項目是 2 Byte,故我們會把取到的 BootOrder size 除以 2 好方便我們取得所有項目個數,之後就可以用 ...
‹
›
首頁
查看網路版