hip*_*ail 8 macos command-line intel clang cross-compiling
我正在我的 M1 MacBook Air 上玩一些 C 代码,并查看使用各种优化级别生成的程序集。
我正在使用最基本的命令从命令行构建单个 C 文件:
cc foo.c -o foo
我应该使用什么开关来构建 Intel 二进制文件而不是 ARM?英特尔有不同的风格吗?32 位还是 64 位?也许甚至是更旧的 CPU 指令集?这对谷歌来说出人意料地困难,但我是苹果生态系统的新手。
那么胖二进制文件呢?如何从命令行构建包含 Intel 和 ARM 代码的单个二进制文件?
(就这个问题而言,我只对我可以在命令行上执行的操作感兴趣。如果我需要设置 XCode 项目或环境变量,那么我会接受一个只说“你不能这样做”的答案仅使用命令行”。)
Tre*_*rev 17
自 Catalina 以来,Intel 32 位无法在 macOS 上执行。自 2006 年以来的每台 Mac(除了配备 Core Solo 处理器的原始 Intel Mac mini 之外)均支持 64 位。
英特尔:
clang -o myTool-x86_64 -mmacosx-version-min=10.15 -arch x86_64 main.c
ARM64:
clang -o myTool-arm64 -mmacosx-version-min=10.15 -arch arm64 main.c
FAT 二进制文件:
lipo myTool-x86_64 myTool-arm64 -create -output myTool
| 归档时间: |
|
| 查看次数: |
8468 次 |
| 最近记录: |