标准C库有个好处,那就是通用性,比如工作中,要做一个EC的更新工具,要求厂商给一份源代码,拿过来发现,他们是用的标准C写的,也是,不做UEFI的,谁会使用UEFI标准定义的函数去写他们自己的代码呢。
那么问题来了,拿到这份代码应该怎么做,第一种,UEFI代码中加入C标准库,第二种,标准库中的函数使用UEFI标准中的函数进行替换,之前我添加C标准库,发现整个固件的size需要重新调整,也就是要重新调整FV的大小,因为针对FV,是做了一些功能的,不能随意调整,所以,只能用UEFI标准函数替换了。
不过C标准库同样还是需要知道怎么去添加的,在编译包中的dsc文件最后加入下面这一段:
!include StdLib/StdLib.inc
是不是很简单😂
使用相应的代码:
[Packages]
StdLib/StdLib.dec
[LibraryClasses]
LibC
LibStdio
......
~不过有个问题,C标准库中也有shellappmain啥的,注意合理使用,然后就是上面一开始提到的问题了,总的来说还是没什么难度的,当然,既然写在这里,仅做一个笔记之用