-1
이것은 원래 코드이며 모든 인수를 ivlpp_main
을 통해 argc
및 argv
을 사용하여 전달하려고합니다.이 프로세스를 단계별로 설명 할 수 있습니까?
static void build_preprocess_command(int e_flag)
{
ivlpp_main(argc, argv);
snprintf(tmp, sizeof tmp, "%s%civlpp %s%s -F\"%s\" -f\"%s\" -p\"%s\" ",
pbase, sep, verbose_flag?" -v":"",
e_flag?"":" -L", defines_path, source_path,
compiled_defines_path);
}
이 내 코드입니다
static void build_preprocess_command(int e_flag)
{
char arg0[] = "%s%civlpp";
char arg1[] = "%s%s";
char arg2[] = "-F\”%s\”";
char arg3[] = "-f\”%s\”";
char arg4[] = "-p\”%s\”";
char arg5[] = "-v";
char arg6[] = "-L";
char **argv[] = { &arg0[0], &arg1[0], &arg2[0], &arg3[0], &arg4[0], &arg5[0], &arg6[0], NULL };
int argc = 7;//(int)(sizeof(argv)/sizeof(argv[0])) - 1;
ivlpp_main(argc,argv);
}
내 코드가 정확한지 여부,
&argv
을 통과해야해야하지? – imon'ivlpp_main'의 서명 (선언 방법)은 무엇입니까? –
@imon : 컴파일 해 보셨습니까? 일반적으로 간단한 경험 법칙이 있습니다. 컴파일러가 그것을 좋아하지 않는다면, 아마 부정확합니다. 이것은 대칭 적이 지 않다는 점에 유의하십시오. 컴파일러가이를 받아들이면 여전히 부정확 할 수 있습니다. –