Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 perl 解析 C 程序文件(.c 扩展名)。我希望以这样的方式完成解析,例如示例 c 程序可能包含如下语句
printf ("%d => Hello",x);
令 x 为程序中的整数变量。所以当我解析上面的行时,有没有办法获得 x 值。请记住,我只想解析一行并获取 x 的值,我无法解析任何前面的行来获取 x 的值。有什么方法可以动态获取 x 的实际值,还是解析目标文件更好。
世界上没有任何工具可以printf ("%d => Hello",x); 仅使用这条线可靠地找到 x 的值。该值取决于前面的行,并且可能取决于用户输入,这根本不在源代码中。
编辑
另一方面,有很多工具可以处理 C 代码,例如静态分析器、调试器、解释器等。您可能想要寻找这些选项之一。
不,想一想:
int x = rand(); printf("%d", x);
x如果不运行程序,你怎么可能知道是什么?
x