C 소스 파일이 있고 함수 내에서 특정 로컬 변수를 찾아 전역으로 만들려는 경우 - 다른 도구가 C 파일 (작성하지 않은 도구)을 처리 할 수 있도록하려는 경우, 이 작업을 수행하는 가장 쉬운 방법은 무엇입니까? 내가 정규식을 사용하여 생각하고 있었지만, 심지어 그것의 자신의 문제를 소유하고있다. Java에서 미니 C 파서를 작성하는 것과 같습니다. 많은 작업 : SC 소스 파일 구문 분석
더 쉽게 만들 수있는 라이브러리가 있습니까?
예를 들어 변수 "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;
}
'나는'글로벌이되어'합계 '가 아닌 이유에 대한 규칙이 있습니까? –
사용자가 변수 "i"(합계가 아닌)를 모니터링하려고하고 C 소스 파일을 전달할 도구는 전역 변수 만 모니터링합니다. 따라서 나는 글로벌하게 만들어야하며 합계는 글로벌하게 만들어서는 안된다. – BigBug
사용자는 명령 줄 인수를 통해 "i"를 모니터링하도록 지정하므로 어떤 변수가 변경 될지 알 것이다. – BigBug