• ベストアンサー

cl.exeを呼び出して実行する方法について

C言語初心者です。基本的な質問で申し訳ございません。 自作コンパイルコマンドのためのコーディング内容を考えてますが、 cl.exeを呼び出して実行する方法がわかりません。 自作コンパイルコマンドで処理したい内容としては、 ・コマンド実行時の引数より、以下の指定を可能にしたいと思います。 - 出力ファイル名を指定するためのオプション名(例: -o) - 出力ファイル名 - ソースファイル名を指定するためのオプション名(例: -f) - ソースファイル名 - ソースの中で定義されているサービス(関数名)を指定するための オプション名(例: -s) - ソースの中で定義されているサービス(関数名) コンパイルコマンド実行時にcl.exeを内部的に実行したいと考えておりますが、cl.exeを呼び出して実行するための方法がわかりません。

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★??? ・この質問は makefile を読み込み cl.exe を呼び出すコマンドを  作成中という事でしょうか?  それで質問がC言語から cl.exe の呼び出し方を知りたい?  次の4つからお好きな方法で呼び出して下さい。  (1)system( "cl.exe パラメータ" );  (2)WinExec( "cl.exe パラメータ", SW_SHOWNORMAL );  (3)ShellExecute( NULL, NULL, "cl.exe", "パラメータ", 作業フォルダ名, SW_SHOWNORMAL );  (4)CreateProcess()→面倒なので下の資料をどうぞ。 参考資料: http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_winexec.asp http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpshell/html/_win32_shellexecute.asp http://www.sm.rim.or.jp/~shishido/cprocess.html

masy0312
質問者

お礼

ご回答ありがとうございます。非常に勉強になりました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「ソースの中で定義されているサービス」というのが何を意味するのか全くわからないんですが.... 呼び出し方なら cl /? で出ますが御不満?

masy0312
質問者

お礼

質問内容がわかりづらいもので申し訳ございません。 確認したかった内容は、"Oh-Orange"さんの回答内容に該当します。

関連するQ&A

  • clコマンドで実行ファイルの出力先を指定したい

    VC++2010でのコマンドプロンプトでのclコマンドの使い方ですが、通常、 ソースファイルのディレクトリに移動して、 >cl /EHsc cppファイル名   とすると同じディレクトリに実行ファイル(.exe)が作られます。 これをたとえば同じディレクトリにあるDebugファイルの下に出力したい場合、 clコマンドはどのように記述すればいいのでしょうか? 御経験のある方、御教示願えればと思います。

  • 他のexeファイルを実行する方法(Fortran)

    Fortran90で,実行中に他の実行ファイル*.exeを呼び出すことは できますでしょうか? メイン文でサブルーチンを call subroutine名() で呼び出す代わりに call 実行ファイル名.exe のように実行ファイルを呼び出したいです。 コマンドプロンプトでバッチファイルで,逐次exeを 実行することはできますが,ソースコードの中で 実行ファイルを指定したいです。 よろしくお願いいたします。

  • 分割コンパイルのリンク時のファイル名の指定法

     Visual Studioコマンドプロンプト(2010)で、分割コンパイルを試みています。自分で調べて、次のことまでは分かりました。 ソースファイル “1.c” “2.c” “3.c” がある。それぞれ、リンクはせずにコンパイルだけ行うには、 “cl /c 1.c”で、“1.obj”が生成する。 “cl /c 2.c”で、“2.obj”が生成する。 “cl /c 3.c”で、“3.obj”が生成する。 これらを、次のようにリンクすると、 “link 1.obj 2.obj 3.obj” ↓ “1.exe” が生成する。  この最後のリンクのところで、“1.exe”でも“2.exe”でも“3.exe”でもない別のファイル名(“program.exe”など)に、実行ファイルを指定したいのですが、 “link /?” を見てみると、どのオプションを指定すればいいか分かりません。どなたか、ご教授ください。お願い致します。

  • "java" が実行できません("java.exe" は実行できる)

    先日 J2SDK 5.0 Update 6 をインストールした際、 この問題に遭遇しました。 PATH も CLASSPATH も正常に設定されています。 しかし、"java" が実行できません。 ところが、"java.exe" とすると実行できます。 これはいったいどういうことなのでしょうか? 以下にいくつかの実行例を載せます。 OS は Windows XP SP1 です。 [実行例] C:\>java [結果] 'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 となるのですが、.exe をつけると以下のように Usage が表示されます。 [実行例] C:\>java.exe [結果] Usage: java [-options] class [args...] (to execute a class) 以下、絶対パス指定した場合も同じ結果です。 [実行例] C:\java\jdk1.5.0_06\bin\java [結果] 'C:\java\jdk1.5.0_06\bin\java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 [実行例] C:\java\jdk1.5.0_06\bin\java.exe [結果] Usage: java [-options] class [args...] (to execute a class)

  • あるexeファイルを実行するexeファイルを作りたい

    いつもお世話になってます。 前回、http://okwave.jp/qa4949997.html にて質問させていただきました。最終的にはこのページのようなことをしたいのですが、とりあえずRubyファイルをコンパイルし、exeファイルに変換することはできました。 そこで次はそのexeファイルを実行させるC/C++コードが必要になってくるのですが、C/C++はあまり詳しくないのでよくわかりません。 ちなみにコマンド引数も使うexeファイルです。 よろしくお願いします。

  • コンパイルの実行の仕方

    初めてプログラミング言語を授業でとったのですが、 コンパイルの【実行】の仕方がわかりません。 まず、コマンドプロンプトを開くまではわかったのですが、 学校での説明に 「javaのコンパイラはjavacであるので、以下のように指定する。 javac <ソースファイル名> 」 と書いてありました。 コンパイラというのは上記の場合、コマンドプロンプトに 「C:\>javac *****.java」を入力すればコンパイルしたということになるのでしょうか? 「指定する」とかいてあっても指定の仕方すらわからないのです。 コンパイルを検索してもなかなかコンパイルをする意味がよくわからないので、よろしければ教えてください。

  • javac.exeのパスが通りません。

    すr大変困っています。 JAVAのプログラミングを勉強したいと思い、 JDKのインストールなど完了したのですが ソースファイルをコンパイルできません。 javac.exeの実行がきないんです、 コマンドプロンプトからjava.exeの実行はできているので パスの設定はうまくできていると思うんですが、、、、 同じでデレクトりのjavac.exeのパスがとおりません。 コマンドプロンプトで最後のデレクトりまで指定すれば プログラムは実行します。 管理者特権として実行するにチェックしても 互換性モードを使用しても だめです。 何がだめなんでしょうか?? OSがビスタだから なにかあるのでしょうか?? まいってます、お助けを、、、

    • ベストアンサー
    • Java
  • exeファイルを実行するとコマンドプロンプトがすぐに閉じる

    最近C言語でのプログラミングを始めたばかり なんですが、プログラムをコンパイルすると exeファイルができますよね。 そのexeファイルを実行したときに、 コマンドプロンプトが一瞬開いて結果が表示され すぐに閉じてしまうので、内容を確認することが できません。 どうしたら、すぐに閉じないようにできるでしょうか?

  • exeが実行されなくなりました

    フォルダオプションのファイルの種類で、誤って新規にexeを登録したところ、exeファイルをクリックするとテキストエディタが起動して内容が表示され、実行することができなくなってしまいました。システムの復元も同様で実行できません。元に戻す方法をご教授ください。

  • exe実行ファイルのみで運用したい

    C#をコンパイルしたときにexeとpdbが生成されますが、 exe実行ファイルのみで運用したいのですが、 ひとつのファイルにまとめることはできないのでしょうか?

専門家に質問してみよう