gpt4 book ai didi

python - 解析 C++ 预处理器 #if 语句

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:51 26 4
gpt4 key购买 nike

我有一个带条件编译的 C/C++ 源文件。在我将它发送给客户之前,我想删除大部分 #if 语句,这样我的客户就不必担心将正确的 -D 选项传递给编译器。

我已经在 Python 中实现并工作了,但它只能正确处理#ifdef 和#ifndef 语句。我需要添加对#if 语句的支持,但#if 的语法要复杂得多。 (例如,您可以使用 &&、||、!、括号、关系运算符、算术等)。

是否有任何现有的开源代码来解析和评估#if 语句? (最好使用 Python)。

我所知道的唯一实现是 GCC,这对于这项任务来说太复杂了。

最佳答案

作为KeithB said ,你可以让预处理器为你做这件事。

但是如果你不想隐藏东西(即,在条件编译的代码中可能有你不想要或不允许给别人的东西)一个更简单的选择是只需将正确的 #define 指令放在全局包含的 header 中即可。

  • 您的客户无需担心-D 选项
  • 您不必在构建过程中有一些自定义步骤
  • 您提供给客户的代码未经过潜在的半混淆处理
  • 您不会引入错误,因为该工具的功能与 C 预处理器略有不同
  • 您不必维护一些自定义工具

关于python - 解析 C++ 预处理器 #if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/287379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com