如果我有一个 C 源文件,并且我想在一个函数中找到一个特定的局部变量并使其成为全局变量 - 所以另一个工具能够处理 C 文件(我没有编写的工具)什么是最简单的方法做这个?我正在考虑使用正则表达式,但即使这样也有它自己的问题。这有点像用 Java 编写一个迷你 C 解析器.. 很多工作:S
是否有任何库可以帮助使这更容易?
例如,假设我想将变量“i”变成一个全局变量。用户将指定函数名称和变量名称(但不指定变量的类型 - 即“int”)。
我可以使用正则表达式来查找函数 - 当然。但是从那里我真的不知道最好的方法是什么?... CDT插件有帮助吗?
例子:
/*
* add.c
* a simple C program
*
*/
#include <stdio.h>
#define LAST 10
int main()
{
int i = 0;
int sum = 0;
for ( i = 1; i <= LAST; i++ ) {
sum += i;
} /*-for-*/
printf("sum = %d\n", sum);
return 0;
}
转换成:
/*
* add.c
* a simple C program
*
*/
#include <stdio.h>
#define LAST 10
int i = 0;
int main()
{
int sum = 0;
for ( i = 1; i <= LAST; i++ ) {
sum += i;
} /*-for-*/
printf("sum = %d\n", sum);
return 0;
}