从Objective C调用C main

时间:2011-12-01 15:27:53

标签: objective-c c parameters parameter-passing main

我想从另一个类(用ObjectiveC编写)中调用C类主函数。我想将一些论点传递给主要论者。我试过这样,但frist参数被忽略了:

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

我做错了吗?

2 个答案:

答案 0 :(得分:6)

argv数组中的第一个条目是应用程序名称本身。因此,如果要传递参数,请跳过第一个条目并在数组中的第二个条目处启动args。你可以使用一个空字符串作为第一个数组元素。

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

答案 1 :(得分:3)

main的第一个参数是程序名称本身,因此您需要一个包含5个参数的数组。