最近在学操作系统,需要用C写,然后生成裸机可运行的二进制文件,试过了 objcopy ,报错说file format not recognized,ld 也不太会用
最近在学操作系统,需要用C写,然后生成裸机可运行的二进制文件,试过了 objcopy ,报错说file format not recognized,ld 也不太会用
7 回答5.6k 阅读
2 回答4.3k 阅读✓ 已解决
4 回答4.3k 阅读
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
7 回答1.8k 阅读
1 回答4.1k 阅读✓ 已解决
要从C源代码生成裸机可执行的纯净二进制文件,你需要使用编译器将源代码编译为目标文件,然后使用链接器将目标文件链接为可执行文件。在Mac上,你可以使用gcc编译器和ld链接器来完成此操作。以下是一些步骤:
打开终端并导航到包含您的源代码的目录。
使用下面的命令将源代码编译为目标文件:
gcc -c your_file.c -o your_file.o
这就可以生成一个名为your_file.o的目标文件。
使用下面的命令将目标文件链接为可执行文件:
生成一个名为your_executable的可执行文件。
如果你的源代码依赖于其他库,就需要在编译和链接过程中指定这些库。例如你的源代码使用了数学库,则需要在编译和链接过程中指定该库: