2011-12-15 15 views
3

x86プラットフォームを使用して、myappという名前のアプリケーションをこの方法で起動します:execl("./myapp","");これで問題はありません!しかし、ARMプラットフォーム+組み込みLinuxを使用していると失敗しました。どうして ?どんな助けもありがとう。前もって感謝します。あなたは、呼び出し元のアプリケーションが持っていた同じ環境で渡すexecleを使用したい場合はlinuxと組み込みLinuxの "execle"の違い

+0

;

それは、x86上で、すべての働くという事実は奇跡ですNULL); '。どのようなエラーが出ますか? 'execl'の戻り値は何ですか?' errno'は何ですか? –

+0

「.so」が見つかりません –

答えて

2

、あなたはこれを使用することができます。

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

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

ああ、私はそれを得る、ありがとう –

3

あなたの呼び出しが間違っている:execl()の引数リストがNULLで終了する必要があります。 manページによると、あなたは `EXECL( "./ myappの"、 "./myapp"、(char型*)を使用する必要があります)