Добрый вечер! Ищу помощи, я совсем недавно начал писать под Linux и в частности под Android, поэтому многим мой вопрос может показаться глупым. Я хочу запустить программку, которая складывает два числа, из другой программы для этого написал небольшую функцию, но что-то не работает, сообщений о вводе параметров я не вижу. Первое сообщение о запуске execv я вижу. Я хочу что бы вторая программа запустилась в полностью независимом процессе и первая завершилась. Вот так я это делаю:
int RunFile(char const* FileName)
{
string LaunchName(".//");
LaunchName.append(FileName);
char *arg[] = {const_cast<char*>(FileName), NULL};
int res = 0;
int pid = 0;
switch(pid=fork()) {
case -1:
printf("fork error %d\n", pid); /* произошла ошибка */
res = -1; /*выход из родительского процесса*/
break;
case 0:
printf("execv start\n"); /* произошла ошибка */
execv(LaunchName.c_str(), arg);
printf("execv end\n");
res = 0;
break;
default:
exit(0);
break;
}
return res;
}
Что я делаю не так?