0%

(一)关于程序的编译和链接

C/C++的源代码,首先把源代码编译成中间件代码,win下是.obj后缀,unix是.o后缀,生成这些后缀的过程叫做编译,然后把.obj或者.o文件合在一起成为一个可执行文件的动作叫做链接。

阅读全文 »

1.语言链接性

链接程序要求每个不同的函数都有不同的符号名。在C中,一个名称只对应一个函数。

C语言的编译器可能将spiff这样的函数名翻译为*_spiff*,这种成为C语言链接性。但是在C++中,函数有

重载的可能,必须将这些函数翻译位不同的符号名称。So,C++编译器执行名称矫正或名称修饰,为重

载函数生成不同的符号名称。for example, spiff(int) 转换为*_spiff_i* , spiff(double,double)转换为

_spiff_d_d,此为C++的语言链接。

如何在C++中是用C库中的文件符号?

1
2
3
4
5
extern "C" void spiff(int);

extern void spoff(int);

extern "C++" void spaff(int);

EDKII 下载

  1. 首先从github将edkii clone到本地
1
git clone https://github.com/tianocore/edk2

​ 注:由于网络问题,可能会发生网络连接失败,故多次尝试直到下载成功为止。

阅读全文 »

Cpu从内存读取数据过程

在这里插入图片描述

  1. cpu通过地址线将地址信息3发出
  2. cpu通过控制线发出内存读命令,选中存储器芯片,并通知他,将要从中读取数据。
  3. 存储器将3号单元中的数据8通过数据线送入cpu。
    写操作和读操作的步骤相似,如向3号单元写入数据26
  4. cpu通过地址线将信息3发出。
  5. cpu通过控制线发出内存写命令,选中存储器芯片,并通知他,将要从中写入数据。
  6. cpu通过数据线将数据26送入内存的3号单元。
阅读全文 »