計算機設定/VisualStudio2005 の変更点 - PukiWiki

[[計算機設定]]
RIGHT:2008/09/16
** Visual Studio 2005 で初歩的なCアプリケーションを作成する方法 [#x8bca6d6]
- Cf. Visual Studio .NET 2003 で初歩的なCアプリケーションを作成する方法
-- http://support.microsoft.com/default.aspx?scid=kb;ja;841226
** Windowsコマンドプロンプトにて [#c5a4e861]
- 準備 (バッチファイル)
-- cc.bat ~
 Set CC8="C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe"
 Set INCLUDE1="C:\Program Files\Microsoft Visual Studio 8\VC\include"
 Set INCLUDE2="C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include"
 %CC8% %1 /c /I%INCLUDE1% /I%INCLUDE2%
-- link.bat ~
 Set LINK8="C:\Program Files\Microsoft Visual Studio 8\VC\bin\link.exe"
 Set LIBPATH1="C:\Program Files\Microsoft Visual Studio 8\VC\lib"
 Set LIBPATH2="C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib"
 Set LIBS=kernel32.lib user32.lib gdi32.lib winspool.lib
    comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
    uuid.lib odbc32.lib odbccp32.lib
 %LINK8% /LIBPATH:%LIBPATH1% /LIBPATH:%LIBPATH2% %1 %LIBS%
- hello.c (サンプル・プログラム (例1))
 #include <stdio.h>
 void main()
 { 
 	printf("Hello World!\n");
 }
- コンパイル・リンク・実行
 cc hello.c
 link hello.obj
 hello.exe
 Hello World!
** OpenGL (グラフィックス・ライブラリ)[#e628234e]
- http://www.xmission.com/~nate/glut.html ~
glut.h, glut32.lib, glut32.dll をソースファイルと同じフォルダに入れる.
- Sample.c (サンプル・プログラム (例2))
 #include <math.h>
 #include "glut.h"
 #define POINTS 1000
 double x[POINTS], y[POINTS];
 void display(void);
 void main(int argc, char *argv[])
 {
   int i;
   for (i = 0; i < POINTS; i++) {
     x[i] = 6.0 * ((double)i / (double)POINTS) - 3.0;
     y[i] = cos(x[i]);
   }
   glutInit(&argc, argv);
   glutCreateWindow("a graph of cos(x)");
   glutDisplayFunc(display);
   glMatrixMode(GL_PROJECTION);
   gluOrtho2D(-3.0, 3.0, -3.0, 3.0);
   glClearColor(1.0, 1.0, 1.0, 1.0);
   glutMainLoop();
 }
 void display(void)
 {
   int i;
   glClear(GL_COLOR_BUFFER_BIT);
   glColor3d(0.0, 0.0, 0.0);
   glBegin(GL_LINES); glVertex2d(-3.0, 0.0); glVertex2d(3.0, 0.0); glEnd();
   glBegin(GL_LINES); glVertex2d(0.0, -3.0); glVertex2d(0.0, 3.0); glEnd();
   glColor3d(1.0, 0.0, 0.0);
   glBegin(GL_POINTS);
   for (i = 0; i < POINTS; i++) {
     glVertex2d(x[i], y[i]);
   }
   glEnd();
   glFlush();
 }
- コンパイル・リンク・実行
 cc sample1.c
 link sample1.obj
 sample1.exe
&ref(sample1.jpg);
*** [[OpenGL テクスチャを使ったサンプル>計算機設定/VisualStudio2005/OpenGL]] [#z3317e9a]
** CLAPACK 3.1.1 (数値計算ライブラリ) [#ae74c1bf]
- 準備
-- http://www.netlib.org/clapack/
-- f2c.h clapack.h を持ってくる. (例えばCLAPACK-3.1.1-Visual Studio.zipのINCLUDEの中)
-- LIB_WINDOWS/prebuilt_libraries_windows.html から libf2c.lib blas.lib clapack.lib を持ってくる.
- clapack1.c (サンプルプログラム (例3))
 #include <stdio.h>
 #include "f2c.h"
 #include "clapack.h"
 #pragma comment(lib, "libf2c.lib")
 #pragma comment(lib, "blas.lib")
 #pragma comment(lib, "clapack.lib")
 #define N 4
 void main(void)
 {
   long i,j,n,nrhs=1,ipiv[N],lda,ldb,info;
   double a[N*N],b[N];
   n=N,lda=N, ldb=N;
   a[ 0]=1;a[ 4]= 0;a[ 8]= 2;a[12]=1;
   a[ 1]=3;a[ 5]=-1;a[ 9]=-1;a[13]=1;
   a[ 2]=2;a[ 6]= 1;a[10]= 8;a[14]=1;
   a[ 3]=1;a[ 7]=-1;a[11]=-1;a[15]=4;
   b[ 0]=3;b[ 1]= 4;b[ 2]= 5;b[ 3]=7;
   dgesv_(&n,&nrhs,a,&lda,ipiv,b,&ldb,&info);
   for(i=0;i<N;i++) printf("%lf\n",b[i]);
 }
- コンパイル・リンク・実行
 cc clapack1.c
 link clapack1.obj
 clapack1.exe
  0.000000
  -4.000000
  1.000000
  1.000000
- Mathematicaで結果を確認
 In[1]:= Solve[{  x    +  2z +  w == 3,
                 3x - y -  z +  w == 4,
                 2x + y + 8z +  w == 5,
                  x - y -  z + 4w == 7},
               {x, y, z, w}]
 Out[1]:= {{x -> 0, y -> -4, z -> 1, w -> 1}}

** Visual Studio 2005 コマンドプロンプト にて[#h718f6fe]
- 準備
 cd %HOMEPATH%\My Documents\Visual Studio 2005\Project
// ++ C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat を右クリックして, 送る->デスクトップ(ショートカットを作成)
// ++ デスクトップのショートカットを右クリックして, プロパティを開く
// ++ リンク先の欄の, 一番先頭に %comspec% -k " を一番最後に " x86 を入れる.
//  %comspec% -k ""C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x86
// ++ 作業フォルダを自分のマイドキュメントのソースファイルを置くフォルダにする.
//  (例) "C:\Documents and Settings\ym\My Documents\Visual Studio 2005\Projects"
// ++ 完成したショートカットをクリックしてVisual Studio 2005 コマンドプロンプトを開く
- 例1
 cl hello.c
 hello.exe
- 例2
 cl sample1.c
 sample1.exe
- 例3
 cl clapack1.c
 clapack1.exe
** もろもろのメモ [#r0072b84]
- scanfで警告が出るのでscanf_sに変更したら警告が消えた. (別解) #define _CRT_SECURE_NO_DEPRECATE を入れたらscanfのままでも警告は出ない. -- ym &new{2008-09-16 (火) 16:18:32};
- 行番号表示はツール->オプション->テキストエディタ->C/C++->全般 -- ym &new{2008-09-16 (火) 16:50:37};
- デバッグなしで実行しないと画面がすぐ消える. -- ym &new{2008-09-16 (火) 17:32:34};
- Windows Server 2003 SP1 がインストールされていると [[Visual Studio 2005 SP1>http://support.microsoft.com/?kbid=928957]] のインストールが失敗する. [[パッチ(KB925336)>http://support.microsoft.com/kb/925336]]を当てて解決.  -- ym &new{2008-09-18 (木) 12:38:55};

// #comment
** [#td3f2b71]
- [[計算機設定/VisualStudio2005/LEDA]]
- [[計算機設定/VisualStudio2005/補足]]
- [[計算機設定/VisualStudio2005/MSDN]]
* [#c5fd1642]
#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSSPDF