|
こんにちは。久々にプログラムな話しを。
最近のVisual Studio(C++, C#, Basicなど)でWindowプログラムを作るときは、
.net frameworkでプログラム組むのが主流です。
.netは使いやすくて良いのですが、ちょっと独特なので、
普通のC/C++で書きたくなるときもあると思います。
Visual C++は、.netと普通のC/C++やwin32 APIも混在させてプログラムすることが出来るので、
その方法を書いてみます。
.net frameworkなプログラムの中で、printfなども普通に使えます。
ついでにコマンドウィンドウ(DOS窓)も出せます。
なお、VS2008で解説するので、2010等とは画面が違うかもしれないです。
まずは、プロジェクトを作成するために、 ファイル→新規作成→プロジェクト と進み、 下図のように Windows フォームアプリケーションを選んでください。

プロジェクトのプロパティで、
下図のように【共通言語ランタイムサポート/clr】を選択してください。

少し解説しますと、 デフォルトだと「/clr:pure」となっていて、.netなプログラムしか受け付けません。 「/clr」にすると.netなプログラムと普通のC/C++と混在させることが出来るようになります。
次に、printfの出力先をコマンドウィンドウにしたいので、次のように、コンソールを選択してください。
とりあえずこの状態でプログラムを実行させるとコマンドウィンドウが表示されるようになります。

printf等を使いたいので、 stdafx.hに #include <stdio.h> #include <stdlib.h> を追記してください。
あとは、ボタンを押したらprintfさせるために、ボタン置いて、ダブルクリックして出来たコードに 以下のように書いてください。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { printf("hello\n"); }
実行すると下図のようにコマンドウィンドウにprintfされます!

補足ですが、win32APIを使いたいときは、stdafx.hに
#include <windows.h>
などを書いていけば使えます。
|