BIOS 编译过程:C语言的编译

    BIOS里面很多Code都是C编写的,也是用VS 编译的。EFI文件和EXE可以说都是一个妈生的兄弟俩,所以我们先看一下EXE文件的编译,然后再去看EFI文件。

    我们先写一个小程序,用VS编译一下看结果。程序如下:

#include<stdio.h>
void main()
{
	printf("Hello world!");
	return;
}

    用管理员身份运行“ VS2013 x64 本机工具命令提示”,然后CD 到a.c目录下面,用CL进行编译:

C:\Windows\system32>d:
D:\>cd D:\CS
D:\CS>cl a.c
用于 x64 的 Microsoft (R) C/C++ 优化编译器 18.00.40629 版
版权所有(C) Microsoft Corporation。  保留所有权利。
a.c
Microsoft (R) Incremental Linker Version 12.00.40629.0
Copyright (C) Microsoft Corporation.  All rights reserved.
/out:a.exe
a.obj
D:\CS>a
Hello world!
D:\CS>

  上面编译连接可以分开来进行,首先仅编译生成a.obj文件:

D:\CS>cl /c a.c
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.61030 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.
a.c
D:\CS>
    然后a.obj再链接,生成a.exe文件:
D:\CS>link a.obj
Microsoft (R) Incremental Linker Version 11.00.61030.0
Copyright (C) Microsoft Corporation.  All rights reserved.
D:\CS>

   至此,一个程序就完成了从c代码到exe可执行程序的过程.

   此外,还可以用“/FAs”参数来生成汇编代码去分析C到汇编的结果。

下面我们看看EFI文件的生成过程。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值