这次的工作是基于 EADK 的,编译借用EADK的环境这样做有编译速度快,测试方便的优点,具体配置请参考 ”http://www.lab-z.com/how-to-use-eadk/“
关于 time_t 的定义可以在 \EadkPkg_A2\StdLib\Include\time.h 中看到。测试了一下,sizeof(time_t) == 4。
time()函数取得的结果是当前系统的时间,具体的定义是:返回从GMT1970年1月1日 0:0:0 开始经过的秒数表示的当前时间和日期。
下面可以看到 time() 有两种用法。
代码如下,很简单
/** @file A simple, basic, application showing how the Hello application could be built using the "Standard C Libraries" from StdLib. Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license. THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ //#include <Uefi.h> //#include <Library/UefiLib.h> //#include <Library/ShellCEntryLib.h> #include <stdio.h> #include <time.h> /*** Demonstrates basic workings of the main() function by displaying a welcoming message. Note that the UEFI command line is composed of 16-bit UCS2 wide characters. The easiest way to access the command line parameters is to cast Argv as: wchar_t **wArgv = (wchar_t **)Argv; @param[in] Argc Number of argument tokens pointed to by Argv. @param[in] Argv Array of Argc pointers to command line tokens. @retval 0 The application exited normally. @retval Other An error occurred. ***/ int EFIAPI main ( IN int Argc, IN char **Argv ) { time_t t; time(&t); printf("%ld\n",t); t=time(NULL); printf("%s\n",ctime(&t)); return 0; }
运行结果
下载
参考:
1.http://ganquan.info/standard-c/function/time Standard C 语言标准函数库速查 (Cheat Sheet)
2.书籍 《C函数实用手册》 个人感觉这本书不错,蛮实用,实例详尽。缺点是缺少一些新的C函数,可能是因为这本书目标是TC,并且是2003年的书籍。当初是为了用 Turbo C 所以才买的.
Hi Sir, 您寫的資料真好,可以請教一下SMBIOS DATA如何寫? 您有Sample code ? UEFI下要CALL 哪一隻Function?
Thanks!
Best Regards,
Tim
查了一下,在 EFI_CONFIGURATION_TABLE 中有 SMBIOS_TABLE_GUID 你可以搜搜看
另外,推荐 http://blog.chinaunix.net/uid-20757375-id-3531318.html
看起来传统的搜索 E000 F000应该还能用的
你先试试,改天我写一下代码
謝謝你的回覆!!!! 我再去看看,然後寫寫看,,,,,,
我是用EADK 的Compiler 環境
Best Regards,
Tim