https://github.com/fanf2/unifdef
https://stackoverflow.com/questions/525283/is-there-a-c-pre-processor-which-eliminates-ifdef-blocks-based-on-values-define
这个是一个非常有用的工具。尤其是对老项目,而且代码还量大的项目。有些不需要的代码的清理也是一项主要的工作。原因就是让代码看起来整洁,比如对于现在已经不流行架构的特殊代码:pSOS、PPC。

usage:  unifdef [-bBcdehKkmnsStV] [-x{012}] [-Mext] [-opath] \[-[i]Dsym[=val]] [-[i]Usym] [-fpath] ... [file] ...-Dsym=val  define preprocessor symbol with given value-Dsym      define preprocessor symbol with value 1-Usym      preprocessor symbol is undefined-iDsym=val \  ignore C strings and comments-iDsym      ) in sections controlled by these-iUsym     /  preprocessor symbols-fpath  file containing #define and #undef directives-b      blank lines instead of deleting them-B      compress blank lines around deleted section-c      complement (invert) keep vs. delete-d      debugging mode-e      ignore multiline preprocessor directives-h      print help-Ipath  extra include file path (ignored)-K      disable && and || short-circuiting-k      process constant #if expressions-Mext   modify in place and keep backups-m      modify input files in place-n      add #line directives to output-opath  output file name-S      list #if control symbols with nesting-s      list #if control symbols-t      ignore C strings and comments-V      print version-x{012} exit status mode

./a.out -U_DSOS -U_SOLARIS -B -e a.c -o tmp.c
将_DSOS 和_SOLARIS相关的定义的代码删除,然后转存到tmp.c。-B是要删除行。

C: macro: 去除宏的实用工具unifdef相关推荐

  1. LaTeX配置及实用工具汇总

    文章目录 1. 教程 2.主要工具和环境 3.实用工具 5.Jupyter Lab和LaTeX 1. 教程 教程我没管那么多,在网上随便找几个入门的贴子看看,会改一些模板,基本上就可以用了.初学的时候 ...

  2. c语言 宏定义 去除宏定义_如何检查是否在C中定义了宏?

    c语言 宏定义 去除宏定义 To check whether a Macro is defined or not in C language – we use #ifdef preprocessor ...

  3. dos盘启动计算机,最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具)...

    最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具) 更新时间:2006年12月21日 00:00:00   作者: 首先说明一下各种操作系统启动到DOS的途径: WI ...

  4. 云脉文档管理系统,工作中的实用工具

    对于办公人员来说,每天工作中都在不停地产生大量纸质文件,例如各种合同.票据.杂乱的笔记等等.在这个场景下,云脉推出了文档管理系统. 在文字录入方面,采用了先进的OCR文档识别技术,利用光学设备(照相机 ...

  5. 从业10多年,我总结了这几款程序员必备实用工具

    优秀程序员之所以优秀的原因并不一定是他写代码的速度比别人快,而是他解决事情的效率比别人高.副业渠道比别人广,所以提供工作效率的方法并不需要我们样样精通,提高副业收入的办法也不需要我们挖空心思,有时候使 ...

  6. 十多位IT专家分享他们离不开的实用工具

    有一种方式可令你的工作变得简单一些,就是看看其他的IT专家依赖于哪些工具,然后自己试试.Susan Harkins精选出了13位IT专家喜爱的工具清单.这些专家包括了从顾问.程序员到数据库管理员等. ...

  7. iMeta | 青岛华大范广益组基于共标签测序数据的高质量宏基因组组装工具MetaTrass...

    点击蓝字 关注我们 MetaTrass:基于共标签测序数据的人类肠道微生物高质量宏基因组组装工具 https://doi.org/10.1002/imt2.46 RESEARCH ARTICLE ●2 ...

  8. ESP32 FreeRTOS-调试任务实用工具(4)

    提示:好记性不如烂笔头.本博客作为学习笔记,有错误的地方希望指正 ESP32-FreeRTOS序列: ESP32 FreeRTOS-任务的创建与删除 (1) ESP32 FreeRTOS-任务输入参数 ...

  9. 十多位IT专家分享他们离不开的实用工具 1

    日期: 2009年2月4日 作者: Susan Harkins 目录: 10 things 标签: Software, Security, Microsoft SQL Server, Informat ...

最新文章

  1. 黄聪:如何使用CodeSmith批量生成代码(转:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html)...
  2. sega+model+3+android,世嘉MODEL2经典老游戏移植登场 追加联网对战
  3. python怎么做图形界面-图形界面
  4. centos国内yum源
  5. Spring Boot-场景启动器
  6. mysql5.7 skip ssl_MySQL 5.7 的SSL加密方法
  7. 提高个人执行力的途径
  8. 敏捷 - #2 原则:欢迎更改要求 ( #2 Agile - Principle)
  9. ERROR: The environment variable VG_GNU_PACKAGE must be set. Aborting.
  10. 加密解密(源自Discuz!NT3.1)
  11. python调整照片
  12. Listview+DataPager分页
  13. sql盲注 解决_sql盲注学习笔记
  14. 伍德里奇计量经济学第六章计算机答案,伍德里奇计量经济学导论计算机习题第六章第13题c_6.13...
  15. hbase1.2.1配置kerberos
  16. RocketMQ Message相关命令【实战笔记】
  17. Python将图片转换为ASCII字符画
  18. ppt文件太大如何压缩变小?
  19. 你觉得八部金刚功、八段锦、太极拳这种中国传统养生功法有效吗,请从科学与实践的角度详细阐述...
  20. Written English-书面-人称代词

热门文章

  1. Vijos 1010 清帝之惑之乾隆
  2. Abp 入门教程 Day01
  3. mysql多表聚合_mysql – 如何在查询多个表时准确使用聚合函数?
  4. LabVIEW怎样确定控件在显示器坐标系中的位置
  5. mysql用month()函数取月份时,不足10的前面补0
  6. php除以100保留两位小数点,php保留两位小数的几种方法介绍
  7. ACM题目 1012: [编程入门]字符串分类统计
  8. jQuery checkbox 选中事件小案例.
  9. 按方位角标注边长lisp_附合与闭合水准测量内业计算
  10. influxDB查看数据库表