文件名称:hello.ll:以LLVM语言为OS X实现Hello World程序的几种方法
文件大小:5KB
文件格式:ZIP
更新时间:2024-06-15 16:10:56
Shell
你好 在这里,我演示了几种以LLVM语言为OS X实现Hello World程序的方法。 与C标准库链接至少获得write()和exit()函数。 这是最简单的方法,但是添加了不必要的libc依赖关系。 这很无聊=) 实现您自己的最小标准库(例如,在汇编中),并要求ld与其链接。 在这里,我们可以完全绕过libc,但是LLVM无法内联或优化系统调用。 用LLVM语言实现您自己的最小标准库,并使用llvm-link与之llvm-link 。 这是导致最严格的机器代码的最有趣的方式。 系统调用可能成为全面的LLVM优化的目标,而ld调用变得微不足道。 如何自己玩 编译LLVM并将所有内容放到vendor/llvm目录( llc应该可以通过vendor/llvm/bin/llc进行访问) 对于第二个选项,您还需要nasm (可以通过自制软件安装) 运行code/build.osx.sh
【文件预览】:
hello.ll-master
----vendor()
--------.gitignore(14B)
----code()
--------minstd.osx.x86.ll(628B)
--------minstd.osx.x86_64.ll(499B)
--------minstd.osx.x86_64.asm(285B)
--------hello.ll(695B)
--------minstd.osx.x86.asm(275B)
--------build.osx.sh(2KB)
----.gitignore(15B)
----README.md(2KB)
----build()
--------.gitignore(14B)