a-shell环境WebAssembly

由于苹果公司的安全策略,系统会拒绝app之外的可执行代码。这样理论上我们不能在iOS/iPadOS上使用编译器生成执行程序进行运行和测试。为了在 a-shell 中开发C/C++, a-shell 使用了 WebAssembly 对象代码,而不是常规的原生二进制文件。在 WebAssembly 运行时环境(runtime environment),就能够测试编写的代码。

a-shell 环境中,可以编译 C/C++ 程序。默认,clang会生成 WebAssembly 程序,可以通过 wasm a.out 来运行。

安装llvm

a-shell 环境需要安装 llvm 否则提示错误:

In order to use clang, you need to install or update the C SDK with 'pkg install llvm-18'

但是,我尝试安装

安装 llvm 以使用clang
pkg install llvm-18

提示报错:

安装 llvm 报错
Package llvm-18 not found

这个报错是因为没有正确设置 $PKG_SERVER 环境变量,导致无法找到软件包仓库导致的,请执行以下命令(持久化则添加到 ~/Documents/.profile ):

添加环境变量 $PKG_SERVER
export PKG_SERVER=https://raw.githubusercontent.com/holzschu/a-Shell-commands/master/

参考