-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);
}
を渡す必要があります私のコードが正しいかではないでしょうか? – imon
'ivlpp_main'(どのように宣言されている)の署名は何ですか? –
@imon:コンパイルを試しましたか?通常、簡単な経験則があります。コンパイラがそれを気に入らない場合は、おそらく間違いでしょう。これは対称的ではないことに注意してください。コンパイラがそれを受け入れるなら、それはまだ間違っているかもしれません。 –