gpt4 book ai didi

编译C并将ASM汇编成机器码

转载 作者:太空狗 更新时间:2023-10-29 15:22:22 26 4
gpt4 key购买 nike

<分区>

我有三个问题:

  1. 我可以使用什么编译器以及如何使用它将 C 源代码编译成机器代码
  2. 我可以使用什么汇编程序以及如何使用它来将 ASM 汇编为机器代码
  3. (可选)您建议如何将机器代码放置在正确的地址中(即引导加载程序机器代码必须放置在引导扇区中)?

我的目标:我正在尝试制作一个基本的操作系统。这将使用个人制作的引导加载程序和内核。我也会尝试从 Linux 内核(即驱动程序)中获取点点滴滴并将它们集成到我的内核中。我希望创建一个类似于 DOS 的 32 位操作系统,用于干扰大多数现代计算机的内存。我不认为我会为我的操作系统创建可执行格式,因为我的操作系统不会动态到需要它。

我的情况:我在配备 Intel Celeron CPU 的 x86-64 windows 8 笔记本电脑上运行;我相信它使用安全启动。我将在配备 Intel Core I3 CPU 的 x86-64 台式机上测试我的操作系统。我对操作系统及其技术有一般的了解。我知道这个项目所需的 C、ASM 和计算机理论。我认为还值得注意的是,我 16 岁,没有接受过计算机科学方面的正规教育。

我的研究:在谷歌上搜索 C 通常编译成的内容后,我找到了机器代码、二进制、普通二进制、原始二进制、汇编和可重定位目标代码等答案。我理解的汇编通常汇编成PE格式的可执行文件。我听说过 Cygwin、GCC C 和 MingW C 编译器。至于汇编程序,我听说过 FASM、MASM 和 NASM。我搜索过网站,例如 OSDevOSDever .

我尝试了什么:我尝试设置 GCC(一场噩梦)并创建一个交叉编译器(另一场噩梦)。

结论:如您所知,我对编译器、汇编器和可执行格式感到困惑。请在回答我的问题的同时消除我的无知。这些可能是唯一阻止我在简历上使用操作系统的因素。抱歉,我会包含更多链接,但 stackoverflow 不允许我创建超过两个的链接。非常感谢!

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