calling C main from Objectivec



我想从另一个类(用objectiveC编写)中调用C类的main函数。我想传递一些参数给main函数。我尝试这样做,但是第一个参数被忽略了:

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

我做错了什么吗?

argv数组中的第一个条目是应用程序名称本身。因此,如果您想传递参数,请跳过第一个条目,并从数组中的第二个条目开始您的args。你可以直接使用一个空字符串作为第一个数组元素。

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

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

相关内容

  • 没有找到相关文章

最新更新