2011-12-01 521 views
1

我想從另一個類(使用objectiveC編寫)中調用C類main函數。我想通過一些主要的論點。我試過這樣,但第一個參數被忽略:從Objectivec中調用C main

char *argv[] = 
{ 
    "--a", 
    "--b", 
    srcFile , 
    destFile 
}; 
my_c_main(4, argv); 

我做錯了什麼?

回答

6

argv數組中的第一項是應用程序名稱本身。所以如果您想傳遞參數,請跳過第一個條目並在數組中的第二個條目處啓動您的參數。你可能只需要使用一個空字符串作爲第一個數組元素。

char *argv[] = 
{ 
    "", 
    "--a", 
    "--b", 
    srcFile , 
    destFile 
}; 
my_c_main(5, argv); 
3

main的第一個參數是程序名本身,所以你需要一個5個參數的數組。