2011-12-15 3 views
3

Используя платформу x86, я хочу запустить мое приложение с именем myapp с помощью этого метода: execl("./myapp",""); Все в порядке! Но не удалось, когда я использую платформу ARM + встроенный linux. Зачем ? Любая помощь будет оценена. Заранее спасибо.«execle» разница между linux и встроенным linux

+0

Согласно странице человека, вы должны использовать 'execl ("./ MyApp", "./myapp"(символ *) NULL); '. Какая ошибка вы получаете? Что такое возвращаемое значение из 'execl' и что такое' errno'? –

+0

Я получаю «.so» не найдено –

ответ

2

Если вы хотели бы использовать execle проходить в той же среде, что было ваше вызывающее приложение, вы можете использовать это:

#include <unistd.h> 
extern char **environ; 

/* ... */ 
execle("./myApp","./myApp",NULL,environ); 
+0

О, я понимаю, спасибо большое –

3

Ваш вызов неправильно: список аргументов execl() «s должен быть нагружен NULL ,

Тот факт, что он работает на всех на x86 это чудо;)

Смежные вопросы