首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以从代码中访问it 16/gcc目标标志?

是否可以从代码中访问it 16/gcc目标标志?
EN

Stack Overflow用户
提问于 2016-03-09 23:38:40
回答 1查看 220关注 0票数 0

我正在用微芯片的dspic33编译器编译微芯片XC16系列处理器的代码。

我有一些在几个应用程序中使用的代码(例如,它在代码库中)。对于某些模块,我希望确保在编译期间设置特定的编译器标志,最好是使用预处理器。特别是,我对测试-mauxflash和代码中的辅助闪存目标标志很感兴趣.

在编译过程中有没有测试编译器选项的方法?

我尝试过使用xc16-gcc -dM -E -< /dev/null来转储所有#定义,但似乎没有什么改变。有3种与辅助闪存相关的定义(AUXFLASH_LENGTH、__AUXFLASH_BASE和__HAS_AUXFLASH),但与目标标志无关。

EN

回答 1

Stack Overflow用户

发布于 2016-03-10 00:12:11

并不是所有的标志都会影响CPP定义,所以您可能是SOL。使用-dM -E是检查的最佳方法。

但是,有几个特性可能对您有用:

  1. -grecord-gcc-switches:这记录了编译时在每个对象的基础上在侏儒信息中使用的所有标志。然后,您可以有一个脚本来检查对象并抛出一个错误,如果一个是构建的w/出了您所关心的标志。
  2. __attribute__((optimize("flags"))):gcc允许您在每个函数的基础上强制使用特定的标志.
  3. #pragma GCC optimize ("flags"):gcc允许您在文件级别强制使用特定的标志。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35904854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档