x86プラットフォームを使用して、myappという名前のアプリケーションをこの方法で起動します:execl("./myapp","");
これで問題はありません!しかし、ARMプラットフォーム+組み込みLinuxを使用していると失敗しました。どうして ?どんな助けもありがとう。前もって感謝します。あなたは、呼び出し元のアプリケーションが持っていた同じ環境で渡すexecle
を使用したい場合はlinuxと組み込みLinuxの "execle"の違い
3
A
答えて
2
、あなたはこれを使用することができます。
#include <unistd.h>
extern char **environ;
/* ... */
execle("./myApp","./myApp",NULL,environ);
+0
ああ、私はそれを得る、ありがとう –
3
あなたの呼び出しが間違っている:execl()
の引数リストがNULL
で終了する必要があります。 manページによると、あなたは `EXECL( "./ myappの"、 "./myapp"、(char型*)を使用する必要があります)
;
それは、x86上で、すべての働くという事実は奇跡ですNULL); '。どのようなエラーが出ますか? 'execl'の戻り値は何ですか?' errno'は何ですか? –
「.so」が見つかりません –