[2001/01/23] vslive! / visual c++.net 新機能概要
Post on 04-Aug-2015
91 Views
Preview:
TRANSCRIPT
Visual C++.NET新機能概要
田中達彦マイクロソフト株式会社
.NETソリューション開発部VB/VC/C#プロダクトマネジャー
本セッションの内容
Visual Studio.NETとは?
.NET Framework対応
Visual C#
C++マネージ拡張
ATLサーバー
ネイティブ コンパイラの拡張
MFC
2 / 23
Visual Studio.NETの設計思想
Visual Studio 6.0
Visual Studio 7.0
バージョンアップ
3 / 23
Visual Studio.NETの設計思想
Visual Studio 6.0
Visual Studio 7.0
バージョンアップ
.NETプラットフォームのために新たに設計
4 / 23
Visual Studio 6.0
C ランタイム
MFC
ATL
Vis
ua
l C
++
Vis
ua
l B
as
ic
Visual Basic
ランタイム /
Visual Basic
フォーム
C++コンパイラ
Visual Basic
インタプリタ/
コンパイラ
5 / 23
Visual Studio.NET
Visual Basic
ランタイム /
Visual Basic
フォーム
C ランタイム
MFC
ATL
Vis
ua
l C
++
Vis
ua
l B
as
ic
ATLサーバー .NET Framework
ネイティブC++コンパイラ
Managed C++
upgrade
Wizard
Visual C#
コンパイラ
Visual Basic.NET
コンパイラ
6 / 23
.NET Framework対応
UI構築からサーバーサイドコンポーネントまで
Windowsフォーム
Webフォーム
Webサービス
クラス ライブラリ
コントロール ライブラリ
コンソール アプリケーション
7 / 23
.NET Framework対応
マネージされたコード
コモン ランゲージ ランタイム
C#またはC++マネージ拡張を使用
C#はVisual Basicライクな開発手法
8 / 23
Visual C#
C++を進化させた開発言語
コンポーネント指向言語
すべてのものはオブジェクトである
堅牢で信頼性が高い
C/C++開発者のためのRAD言語と環境
初心者からハイエンドプログラマーまで
9 / 23
Visual C#
C#での開発
Windowsアプリケーション
Webアプリケーション、Webサービス
UIを持つライブラリ
UIを持たないライブラリ
.NET Frameworkの機能をフル活用
10 / 23
Visual C#
C#での開発例
11 / 23
Windowsフォーム
Webフォーム
クラスライブラリ
Webサービス
Webサービス
クラスライブラリ
コンポーネントライブラリ
クラスライブラリ
C++マネージ拡張
コモン ランゲージ ランタイムを使用
過去の資産を生かす
堅牢なコンポーネント
マネージコードとネイティブコードの共存
.NET Frameworkの機能を使用
豊富な機能を既存の資産から利用
12 / 23
C++マネージ拡張
最小のコード変更で.NETへ
マネージされていないクラス マネージ クラス
MFC ATL .NET Framework
Win32API
13 / 23
C++マネージ拡張
コモン ランゲージ ランタイムの使用例
#using <mscorlib.dll>
__gc class intList {
int i;
intList *next;
};
void main() {
for(int i = 0; i < 10; i++) {
intList *pNode = new intList;
}
}
__gc キーワード
によってガベージコレクションの対象にする
14 / 23
C++マネージ拡張
.NET Frameworkの機能の使用例
#using <mscorlib.dll>
using namespace System::Console;
void main()
{
WriteLine(L"Hello, World");
}
#using ディレクテ
ィブを使用して、.NET Framework
の機能にアクセスSystem::Console::
WriteLineを使用
15 / 23
ATLサーバー
Webアプリケーションのための拡張
ATLの思想を継承
小さく速いコンポーネント
極限のパフォーマンスを要求されるWebサービスの構築に最適
Webサービスの作成
.SRFファイルを使用したWebアプリケーションの作成
16 / 23
ATLサーバー
ATLサーバーのアーキテクチャ
Request
Dispatcher
ATL Server
Services
VCISAPI.DLL
Web C
lient HTTP Request
HTTP Response
Request
Handler
SRF
Files
Your App
17 / 23
ネイティブコンパイラの拡張
アトリビュートを使用したプログラミング
実装を補助するための宣言
コードの記述量を削減
いわば、コンパイル時ウィザード
C++マネージ拡張、C#でもアトリビュート(属性)を使用可能
18 / 23
ネイティブコンパイラの拡張
アトリビュートを使用したプログラミング[coclass]
class X {
// ...
};
コンパイラ
リンカ
コンポーネント
アトリビュートプロバイダ
タイプライブラリ
コンポーネントライブラリ
属性
コード
19 / 23
MFC 7.0
HTMLサポートの強化
Windows 2000のサポート
ファイル名はMFC70
20 / 23
MFC 7.0
新たに追加されたクラス
CHtmlEditView
CHtmlEditDoc
CHtmlControlSite
CDHtmlEventSink
CDHtmlElementEventSink
CMultiPageDHtmlDialog
CDHtmldialog
CBrowserControlSite
CPrintDialogEx
CHtmlEditCtrl
21 / 23
まとめ
.NET Frameworkを活かすならVisual C#
資産を.NETに移行するならC++マネージ拡張
既存路線を保つならネイティブコンパイラ
おすすめはC#
22 / 23
Q & A
23 / 23
top related