C言語の開発環境をVisual Studio 2013 Express for Windows Desktopを用いて構築します。VisualStudioではC++の開発が行えます。しかし、C++とC言語は微妙に違います。たとえば、型変換や、intの省略などで違いが出てきます。C++はC言語よりも安全性と正確性を高めるための工夫がされています。このため、C言語用に作られたプログラムをコンパイルしようとすると、その違いのせいでコンパイルエラーになることがしばしばあります。
Visual Studio 2013 ExpressによるC言語開発環境構築手順
1. プロジェクトの作成
最初にC言語ソフトのプロジェクトを作るために、ファイルメニューから「新しいプロジェクト…」を選択し、表示されたダイアログで、テンプレートを「Win32コンソールアプリ…」にします。名前、場所、ソリューション名は、希望する名称及び場所を設定します。
Win32アプリケーションウィザードが実行されるので、アプリケーションの設定ウィザードで「空のプロジェクト」にチェックを入れて、「完了」します。
Win32アプリケーションウィザードの実行が終了すると、「ソリューション エクスプローラー」が表示され、作成したプロジェクトが表示されます。
2. コンパイル言語の選択
プロジェクトメニューの「(プロジェクト名)のプロパティ」を選択して、プロパティダイアログを表示します。そのダイアログのツリービューの中の、「構成プロパティ」=>「C/C++」=>「詳細設定」を選択します。右側のエリアに「コンパイル言語の選択」が表示されるので、ドロップダウンさせ「C コードとしてコンパイル (/TC)」を選択します。この操作で純粋なC言語としてコンパイルできます。
3. C言語ソースファイルの作成
「ソリューション エクスプローラー」の中の「ソースファイル」を指定して、 右クリックして登場するメニューから「追加」/「新しい項目」を選択します。
次の画面となるので 「C++ ファイル」を選択し、 ファイル名として Source.cのような C ファイルを指定します(拡張子をcにします) 。追加ボタンを押すと、「ソリューション エクスプローラー」の中の「ソースファイル」のしたにSource.cのソースファイルが作成され、ソースコードが入力できる状態になります。
4. C言語ソースコードの入力
次に示すCソースを入力します。
/* header files */
#define _CRT_SECURE_NO_WARNINGS
#define snprintf    _snprintf
#include <stdio.h>
#include <stdlib.h>
/* macros */
#define N 256
/* main */
int main(void) {
    char s1[N] = {'\0'};
    char s2[N] = {'\0'};
    int i = 10000;
    double x = 200.123;
    sprintf(s1, "%d", i);
    snprintf(s2, N, "%.4f", x);
    fprintf(stdout, "s1: %s\n", s1);
    fprintf(stdout, "s2: %s\n", s2);
    return EXIT_SUCCESS;
}gccのコンパイラと違って、Visual StudioでC言語のプログラムをコンパイルすると、次の警告もしくはエラーが発生します。
- strcpy、sprinitfなどでコンパイル時に警告発生します。バッファー・オーバーランの原因になるので、安全な別関数(strcpy_s、sprintf_sなど)の使用を推奨してきます。今回は、define で定義して、コンパイル時の警告を止めました。
#define _CRT_SECURE_NO_WARNINGS
 - snprintfを使っていてgccでは普通にビルド出来てたプログラムを、VisualStudio 2013でビルドすると、 snprintf 関数が定義されていないというエラーになりました。VisualStudioについている標準ライブラリではsnprintfはサポートしていないみたいです。次のようにdefine でsnprintfを定義しました。
#define snprintf _snprintf
 
5. 作成したCプログラムの実行
作成したC言語プログラムを実行した結果を示します。
							
											
				






