gpt4 book ai didi

c++ - 从程序集引导加载程序调用 C++

转载 作者:搜寻专家 更新时间:2023-10-31 00:47:54 24 4
gpt4 key购买 nike

我有一个从这个 Tutorial 获得的小型程序集引导加载程序.可以找到引导加载程序的代码 here .我想知道是否可以从此引导加载程序运行 C++。我想运行这样一个简单的东西:

#include <iostream>
using namespace std;

int main () {
cout << "Hello World!\n";
return 0;
}

但正如我所见,它带来了 2 个问题。首先,C++ 文件必须以某种方式包含在已编译的 bin 文件中。还有 #include <iostream> ... iostream 是否包含在已编译的 C++ 文件中,或者它是否需要包含在引导加载程序的某种库中?

感谢您的帮助,因为这让我很困惑。

最佳答案

要从您的汇编代码中调用 C 函数,这里有一个示意图。使用 g++ 代替 gcc 应该允许您使用 C++ 代码。但我想知道你能写多少“C++”,因为你不能使用库函数,正如你的问题的一些早期回复清楚地指出的那样。您最终可能会在 C++ 代码中编写汇编!

cboot.c

void bootcode(void) {
/* code */
}

boot.asm

# some where you have this line
call bootcode
# more code to follow

您以这种方式编译和链接它们以创建可执行文件 prog

nasm -f boot.o boot.asm

gcc -c cboot.c

gcc -o prog cboot.o boot.o

关于c++ - 从程序集引导加载程序调用 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com