クリムゾン システムズへ

WordStar




 Microsoft C 〜 Visual C++ 〜 Visual Studio



最初に使った Cコンパイラは、Lattice Cでした。
他に、Turbo C等

その後、マイクロソフトが Lattice Cを買い、Microsoft Cになりました。 ( Microsoft C Ver 4.0 から使っています。 



 
Lattice C Ver 3.10      PC-98で、SYSERR.C のコンパイル


 

....................................................................................................................................................................................................................................................................................

Microsoft Cのバージョンと製品名

FD Microsoft C Version 4.0 DOS
FD Microsoft C Version 5.0 DOS
FD Microsoft C Version 6.0 DOS
FD Microsoft C/ C++ Version 7.0 DOSからWindowsへの架け橋 ... SDK
CD Microsoft Visual C++ VC++ 1.0
CD Microsoft Visual C++ VC++ 1.5
CD Microsoft Visual C++ VC++ 2.0 32bit win
CD Microsoft Visual C++ VC++ 4.0
CD Microsoft Visual C++ VC++ 4.2
CD Microsoft Visual Studio 97 VC++ 5.0
CD Microsoft Visual Studio 6.0 VC++ 6.0
CD Microsoft Visual Studio .NET(2002) VC++ 7.0 .NET Framework
CD Microsoft Visual Studio .NET 2003 VC++ 7.1
CD Microsoft Visual Studio 2005 VC++ 8.0 Win SxS
DVD Microsoft Visual Studio 2008 VC++ 9.0 2008.2.8発売
DVD Microsoft Visual Studio 2010 VC++ 10.0 2010.6.18発売
DVD Microsoft Visual Studio 2012 VC++ 11.0 Windows 8 Modern UI Style  2012.9.21発売




媒体 コメント
FD  sorry no image
Microsoft C version 4.0
この頃は、Turbo C、 Lattice C が勢力が強く
私は もっぱら Lattice C派
NEC PC98シリーズ全盛
FD  sorry no image
Microsoft C version 5.0
MS-DOS
この頃からMS-Cに・・・
FD  sorry no image
Microsoft C version 6.0
MS-DOS
FD
Microsoft C/C++
( Microsoft C ver 7.0 )
C and C++ Compiler
Library Files
Programmer's WorkBench
Microsoft Foundation Class
Windows Tools
WindowsはSDKスタイル全盛

  → Windows 3.1用アプリの開発

かろうじてフロッピーが残っていました。
マニュアル等はダンボール箱で相当な重さ!
CD
Microsoft Visual C++ version 1.0
( Microsoft C ver 8.0 )
初めてCDで供給
MFCが少しまともに・・・
16bit版のWindowsソフトの開発です。
Windows 3.1
CD
Microsoft Visual C++ version 1.51 (英語版)
Ver 1.0の不具合等の対応
まだ、これで開発したアプリが稼動しています。
CD 1995
Microsoft Visual C++ version 2.0
( Microsoft C ver 9.0 )
MFC 2.0
CD 1996
Microsoft Visual C++ version 4.0
( Microsoft C ver 10.0 )
CD 1996
Microsoft Visual C++ version 4.2
( Microsoft C ver 10.2 )
CD 1997
Microsoft Visual C++ version 5.0 ( Visual Studio 97 )
( Microsoft C ver 11.0 )
CD 1998
Microsoft Visual C++ version 6.0 ( Visual Studio 6.0 )
( Microsoft C ver 12.0 )
CD 2002
Microsoft Visual Studio .NET(2002) Version 7.0
.netに突入
   イメージは VS2003 UPG



Visual Studio 2012
Visual Studio 2012 Express Edition
Visual Studio 2010 Service Pack 1
Visual Studio 2010
Visual Studio 2010 Express Edition
Visual Studio 2008 Service Pack 1 (DVDイメージ)
Visual Studio 2008 日本語情報 Web サイト
Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)
Microsoft Visual C++ 2008 サンプル ライブラリ
・無償のVisual Studio 2008 がダウンロードできるようになりました。
Visual Studio 2008 Express Edition 日本語版
Visual Studio 2008 Professional Edition アカデミック
Visual Studio 2005 Express Edition
Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う
Platform SDK PSDK-x86.exe 1.3MB
Win32プロジェクトの出し方
FreeのISOイメージの書き込み DeepBurner






【 Windows プログラム 】

#include <stdio.h>
#include <string.h>
#include <windows.h>

long FAR PASCAL _export WndProc( HWND hWnd, WORD iMessage, WORD wParam, LONG lParam );


int PASCAL WinMain(HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
   static char szAppName[] = "Hello Windows";
   MSG msg;
   HWND hWnd;
   WNDCLASS wndclass;


   if ( ! hPrevInstance) {
      wndclass.style = CS_HREDRAW | CS_VREDRAW;
      wndclass.lpfnWndProc = WndProc;
      wndclass.cbClsExtra = 0;
      wndclass.cbWndExtra = 0;
      wndclass.hInstance = hInstance;
      wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
      wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
      wndclass.hbrBackground = GetStockObject(WHITE_BRUSH);
      wndclass.lpszMenuName = NULL;
      wndclass.lpszClassName = szAppName;
      RegisterClass(&wndclass);
   }


   hWnd = CreateWindow(szAppName,
      "Windows example",
      WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      NULL,
      NULL,
      hInstance,
      NULL);

   ShowWindow(hWnd, nCmdShow);

   UpdateWindow(hWnd);


   while (GetMessage(&msg, NULL, 0, 0)) {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }

   return msg.wParam;
}



//-------------------------------------------------------------------------------------------

long FAR PASCAL _export WndProc( HWND hWnd, WORD iMessage, WORD wParam, LONG lParam )
{
   HDC hDC;
   PAINTSTRUCT ps;
   char szHelloMsg[] = "Hello Windows world!";


   switch (iMessage)
   {
      case WM_CREATE:
      break;

      case WM_PAINT:
         BeginPaint(hWnd, &ps);
         hDC = ps.hdc;
         TextOut(hDC, 0, 0, szHelloMsg, strlen(szHelloMsg));
         EndPaint(hWnd, &ps);
         return 0L;

     case WM_DESTROY:
         PostQuitMessage( 0 );
         return 0L;

      default:
         return DefWindowProc( hWnd, iMessage, wParam, lParam );
      }
}







MFC ( Microsoft Foundation Class ) とは・・・
Microsoft C/C++ Windows用アプリケーションソフトの統合開発環境であるMicrosoft Visual C++に付属するクラスライブラリ。
Windowsアプリケーションソフトの作成に有用な多くのクラスを提供する。

Foundation(ファンデーション) とは 
化粧品のファンデーションでご存知かも知れませんが 「基礎」 です。

Windowsの開発は 当初SDKで Windows APIを callしていました。
その後、MFC ができました。( MFC 1.0 MFC 2.0 ・・・・ )

また、よくみかける Afx○○○は、 Application Freamework にXを付加したもの。



VC++1.0のインストール画面のロゴ


VC++1.0のツール類  (16bit Windowsの開発用)


VC++1.0のIDE


当時のVisual製品



SDKとは・・・ ソフトウェア開発キット(Software Development kit) 
ソフトウェア開発者向けに用意されたヘッダーやライブラリ、ドキュメントやサンプルなどの総称のことをいいます。 API関数をパッケージしたものと考えてもよいかも知れません。
WindowsについてはMicrosoftが用意しており、Windowsでプログラミングをおこなう場合は通常これを使用することになります。
MFCはSDKをラッピングしており、関数の集合であるSDKをC++のクラスという概念を利用し、オブジェクト指向プログラミングを比較的容易に開発できるようにしたものです。同時に複雑なSDKの仕様を隠蔽し、簡素化しているので、SDKを使う場合と比べてさほどWindowsの知識を必要としません。しかし、プログラムは作成できるが中身がわからずとなってしまいます。Windowsの知識を得るためにも、基礎を習得しておく必要があります。




このページの先頭へ




CRIMSON Systems Homeへ Copyright (C) CRIMSON Systems