• ベストアンサー

自作EXEから別EXEを作成・出力するには?

RPGツクールなどのツールでは、設定した内容に応じて、内容が変化したEXEファイルが作成されますよね? それと同じような事を自作ツールでやりたいのですが、自作アプリからEXEファイルを作成するには、どのような手段があるのでしょうか? 自分では、調べたり考えても解決に至りませんので、ご存知の方はご教示お願いします。 使用言語は、それが実現できるなら何でも良いのですが、強いて挙げるなら C、C++、VB、HSPあたりが希望です。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率74% (303/406)
回答No.2

こんにちは。 No.1さんのリンクをたどると、最終的にはこちらのページが一番参考になるんでしょうね。 ・プログラムからEXEファイルを生成してみよう (1/3):CodeZine http://codezine.jp/article/detail/419 ちなみにこの連載のトップはこちらになります。 ・Windows実行ファイル「EXE」の謎に迫る:CodeZine(コードジン) http://codezine.jp/article/corner/61 で、自分ならどう作るか考えてみました。 まずツクール?の仕様を考えて、それをスクリプト的なもので動かすようにします。 次にスクリプトを解釈して実行するインタプリタエンジンを作ります。 スクリプトをバイナリ化(中間言語)してもいいかもしれません。 このバイナリとさらに画像やサウンドなどのデータを1つにまとめます。 インタプリタエンジン(exe)の後ろにまとめたデータを結合します(配布exe)。 まとめデータの末尾にデータサイズを入れるなりしておけば、配布exeのまとめデータの位置がわかります。 このexe結合については十分な検証はしていません。「たぶん動きます」という程度です。 「たぶん」がダメなら、、、 インタプリタエンジンのソースにダミーデータを入れてみて、ダミーデータのサイズによってexeの何が違うかを調べます。 これがわかれば、任意のサイズのデータを埋め込めるようなるでしょう。

hatopo7979
質問者

お礼

いろいろ詳しく教えていただき、ありがとうございます! 勉強になります! 自分の力不足を思い知りました。 中間言語って、スクリプトをバイナリ化するって意味だったんですか!? その単語は耳にした事はありましたがもっと難しいイメージを持っていました。 ではまず、最初の目標は、 『スクリプトを解釈するインタプリタエンジンを作る』 → 『そのスクリプトを出力する設定ツールを作る』 というところですかね・・・ 道のりが険しそうです。 でも、おかげさまで、なんとなくイメージがつかめました。 回答ありがとうございます!

その他の回答 (2)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

こういう奴ならパッケージ的に制限がないので利用できると思います。 「Clang - Wikipedia」 http://ja.wikipedia.org/wiki/Clang

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

バイナリファイルを作れればどの言語でも可能です。 ただ、exeファイルの形式であるPEフォーマットの深い理解が必要です。 「EXEファイルの内部構造(PEヘッダ) (1/3):CodeZine」 http://codezine.jp/article/detail/412 あるいはソースファイルを自動生成して配布可能なコンパイラ・リンカをバックグラウンドで動かしてexeファイルを作るという方法もあります。

hatopo7979
質問者

お礼

回答ありがとうございます! 正直、まともな回答は得られないんじゃないかと思っていましたので、とても嬉しいです! そうか、exeファイルはPEフォーマットという構造なのですね、勉強になります! >配布可能なコンパイラ・リンカをバックグラウンドで動かしてexeファイルを作る というのは 『自作ツールの中にパックしておいて、ツールからexeファイル生成するタイミングで自動生成したソースを渡してexeファイルにコンパイル』 という解釈でよろしいのでしょうか? その場合の、配布可能なコンパイラ・リンカ、とはやっぱりCかC++になるでしょうか?

関連するQ&A

  • MIDI再生&WAVE録音ツールを簡単に作れる言語は?

    Windowsでとても単純な ・MIDIファイルの再生 ・WAVE(できればMP3またはWMA)の録音 するツールを作成したいのですが、 Java, C, VB, C++, C#, HSP, Delphi等 フリーの言語だと何が一番簡単に作成できますか?

  • exeファイルを作成できるプログラミング言語

    私は最近プログラミングを始めたばかりで、 まだCとC++とアセンブリを少し知ってる程度です。 この3つのプログラミング言語ではexeファイルを作成できるのは 知ってるのですが、他のプログラミング言語でもexeファイルなどの 実行形式ファイルを作成できるのでしょうか?

  • VBでExe作成時に「C2.exeが見つかりません」エラー

    お世話になります。 VB6.0で作成したプロジェクトのEXEファイルを作ろうとすると、「C2.exeファイルが見つかりません」といったエラーが表示されて作成することができません。 以降、別のプロジェクトのEXEを作ろうとしても同様のエラーが出てしまいます。 VBを再インストールすると直るのですが、理由がわかりません。 どなたか対処法などご存知の方がいらっしゃいましたらご回答宜しくお願いします。

  • VBを起動せずにEXEファイルを作成する方法

    表題のとおりです。 VBで作成したソースファイル等をVBを起動せずに、EXEファイルを 作成する方法を探しています。 と、言うのも、複数(VB以外も含む)のプロジェクトファイルを一度に コンパイルし、配布できる環境を作成するようにしたいのです。 要は makeファイル 等で作成出来ればと考えています。 何か、VBでEXEファイルを作成できるコマンドライン(C2.EXE等???)が あれば、お教えいただけませんでしょうか? よろしくお願い致します。

  • RPGツクール for Mobile 作成の過程は

     RPGツクール for MobileをDLしたのですが、これって、作成の過程として、普通のPCゲーム作成と変わりはないでしょうか?  そのうち、HSPか何かの言語を使用してゲームを作りたいと思っており、ゲーム作成の"雰囲気"を感じるためにやろうと思っているのですが、どんなもんでしょう?(フラグのような、システム的な部分について、類似性はあるでしょうか?)  ちょっと説明がわかりにくくて恐縮ですが・・・。

  • VB6.0 exeファイルを作成すると動かなくなってしまいます。。。

    VB6.0で、RS232CのRTS、CTSを使用して、ONOFFスイッチを作成しました。 ONでデータ送信するプログラムを作成したのですが、VB開発環境上で 実行すると正常に作動するのですが、EXEファイルを作成して実行すると、232CのONOFFスイッチのところがうまく動かなくなってしまいます。 他のところはEXEファイルでも正常に動きます。 使用PCは同じPC上です。 何か解消法はありますでしょうか。 アドバイスをよろしくお願いいたします。

  • javaプログラムのexeファイルを作成するには?

    JAVAで開発したプログラムのexeファイルをWindows上で作成したいのですが、方法としてはどのようなものがあるのでしょうか?例えばVB内でJAVAをキックさせる手などもあるのでしょうが、VBチックな開発ツールであるIDE等でもできるのでしょうか? どなたかアドバイスがありましたらよろしくお願いします。

    • ベストアンサー
    • Java
  • RPGツクール2000 初心者でも大丈夫?

    「RPGツクール2000」は、ゲームを作ったことのない初心者でも簡単に作れますか? C言語やコマンドなどよくわからないのですが、大丈夫でしょうか。 RPGツクール2000でゲームを作成されたことのある方、教えていただけたら嬉しいです。 よろしくお願い致します。

  • 自作exeのサービス登録

    Windws2000Serverの機能を用いて、 VBで作成したexeをサービスに登録する事は 可能でしょうか。 やはり、何かしらのツールを使用するより無いのでしょうか。 どなたか解る方がいらっしゃれば教えて下さい。宜しくお願い致します。

  • RPGツクール2003のゲームのファイルの中にあるexeファイルを開け

    RPGツクール2003のゲームのファイルの中にあるexeファイルを開けません・・・ セットアップもしたのにどういう事なんでしょうか?