6 RISC-V GCC工具链的预定义宏 RISC-V GCC会根据编译生成若干预定义的宏,在Linux操作环境中可以使用如下方法查看和RISC-V相关的宏:
//首先创建一个空文件 touch empty.h
//使用RISC-V GCC的-E选项对empty.h进行预处理,有关“预处理”的背景知识请参见本号**《编译过程简介》 //通过grep命令对于处理后的文件搜索riscv的关键字
//如果使用-march=rv32imac -mabi=ilp32选项可以看出生成如下预定义宏 riscv-none-embed-gcc -march=rv32imac -mabi=ilp32 -E -dM empty.h | grep riscv
#define __riscv 1 #define __riscv_atomic 1 #define __riscv_cmodel_medlow 1 #define __riscv_float_abi_soft 1 #define __riscv_compressed 1 #define __riscv_mul 1 #define __riscv_muldiv 1 #define __riscv_xlen 32 #define __riscv_div 1
//如果使用-march=rv32imafdc -mabi=ilp32f选项可以看出生成如下预定义宏 riscv-none-embed-gcc -march=rv32imafdc -mabi=ilp32f -E -dM empty.h | grep riscv
#define __riscv 1 #define __riscv_atomic 1 #define __riscv_cmodel_medlow 1 #define __riscv_float_abi_single 1 #define __riscv_fdiv 1 #define __riscv_flen 64 #define __riscv_compressed 1 #define __riscv_mul 1 #define __riscv_muldiv 1 #define __riscv_xlen 32 #define __riscv_fsqrt 1 #define __riscv_div 1
|