プロが教える店舗&オフィスのセキュリティ対策術

ret = _spawnl(_P_WAIT, pr2, pr2, dat2, "test1.bmp","test2.bmp", NULL);
これを、
android 用の、Java で書き直したら、どうなりますか?

C,C++ で質問するか、Java で質問するか、迷いましたが、
とりあえず、こちらで質問しました。

よろしく、ご指導ください。

質問者からの補足コメント

  • ありがとうございます。

    これは、Windows 用のメールソフトの一部です。
    VC++2005 を使って書いたものです。

    Android のスマホのソフトに、移植しようとしているのですが、
    縛りがきつくて、大規模な変更が必要になっています。

    これからも、ご指導よろしくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/02/14 14:21

A 回答 (2件)

https://msdn.microsoft.com/ja-jp/library/wweek9s …
とあるように、これは、外部のコマンドを実行するためのものです。
コマンドプロンプトでコマンドを実行して、その結果を使う、という感じです。

単純に置き換えるなら
https://docs.oracle.com/javase/jp/6/api/java/lan …
等を使って、ということになりますが....

spawnlで実行しているのは、Windows用の実行ファイルです。
Windows上でJavaを実行しているのなら、そのままでも動くかもしれません。
しかし、Androidで実行するなら、実行ファイルの形式が違うので動きません。CPUも違うでしょう。


このコマンドで何をしているかを調べ、同じ処理をするAndroid用のプログラムを探すか用意するかが必要です。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2015/02/15 23:02

無理。



C のコードを1対1対応で Java のコードに書き直すのは不可能です。
プログラム移植が目的ならば、そのプログラムの動作を仕様として書き出してそれを Java で実装するのが筋です。
また、Java では VM に阻まれいじることのできないシステムの深層へのアクセスも C ならば可能です。移植したいプログラムがそういうものならあきらめた方がいいです。

……というか、ご呈示のコードはどの環境で動作していたものなんでしょうか。Android NDK なら移植できる可能性がありますが……。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2015/02/15 23:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!