跳到主要内容

3.1 强制性选项

KF32工具链用于裸机交叉编译,同一套kf32clang驱动可面向多个KF32平台。编译器必须先确定目标平台和指令集架构,才能选择正确的后端、ABI以及运行时库。因此,构建命令中应显式指定--target和-march。

3.1.1 指定目标​

使用--target选项指定目标平台,语法如下:

kf32clang --target=kf32r ...

当前对外发布版本仅支持kf32r,--target必须填写kf32r。目标确定后,编译器据此选择KF32R后端、目标文件格式和ABI,并到lib/clang-runtimes/kf32r下查找运行时库。

3.1.2 指定架构​

使用-march选项指定指令集架构,语法如下:

kf32clang --target=kf32r -march=kf32r ...

架构的可选值由目标决定。当前kf32r目标只有kf32r一个架构,因此--target与-march通常写成同一个值。省略-march时,编译器按目标的默认架构kf32r处理。