GCC 4.4.0中添加自定义的选项

假设目前需要在i386平台上增加一个自定选项-mytest,该选项的值可以是0或者1,可以按照如下步骤进行添加。

1. 修改gcc/config/i386/i386.opt文件,在文件末尾添加选项-mytest的声明。

mytest
Target Var(MY_TEST_OPTION) Save

该定义表示声明一个选项-mytest,其中Target表示该选项是一个目标机器相关的选项,Var(MY_TEST_OPTION)表示该选项的值在代码中会使用变量MY_TEST_OPTION保存,Save表示gcc在解析该选项时会使用cl_target_option结构体来保存该选项的值。

关于选项的声明请参考《GNU Compiler Collection (GCC) Internals》Chapter 7: Option specification file。 

2. -mytest选项的使用

我们可以在gcc/toplev.c的process_options()函数中添加一句测试语句。

printf("TEST OPTION = %d\n", MY_TEST_OPTION);

该语句中使用的变量名称MY_TEST_OPTION就是上述第一步声明的选项变量

3. 测试

为了测试该选项是否已经添加成功,需要重新编译gcc源代码。

[root@localhost gcc]# ./xgcc -S -o test.s test.c
TEST OPTION = 0


[root@localhost gcc]# ./xgcc -S -o test.s test.c -mytest
TEST OPTION = 1

可以看到,我们定义的语句可以正常的使用该选项了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值