我想有在寫大型程式的工程師應該是有聽過SourceInsight(SI)這套軟體吧!!
今天我遇到一個小小問題,也找到問題點就分享給大家~~
使用SI的優勢是在於UEFI定義了很多的結構,我們在使用結構SI都會動態跑出關鍵的變數名稱,這方便設計者不用特地去記一些變數名稱。
不過,在我們設一個程式時會傳入EFI_SYSTEM_TABLE變數,
EFI_STATUS
sample(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
在之前都會先宣告EFI_APPLICATION_ENTRY_POINT(sample)或EFI DRIVER ENTRY POINT(sample),然而此次的宣告就導致SI無法判別此變數,原因是在於這兩個宣告是指向空集合。
此時,我會將宣告暫時註解起來以方便使用變數*SystemTable,其實<1>中也提到,這宣告對於模擬機器有很大的影響,但對於實際的硬體上並無差別,只是為了可讀性及好的習慣所以才多了這一行指令。
<Reference>
<1>http://biosengineer.blogspot.tw/2010/07/efidriverentrypoint.html
No comments:
Post a Comment