Document

プログラミング論 第5回 担当:山口崇志
C#における他ライブラリとの連携
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
Dynamic Link Library
 動的リンクによって利用されるライブラリ
 利用頻度の高い機能を共有・再利用可能
 動的リンク(Dynamic Link)
 モジュール化されたプログラムを実行時に結合(Link)する
 モジュール化
 アプリケーション全体を機能毎に分割すること
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
プログラムのモジュール化とリンク
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
プログラムのモジュール化とリンク
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
C#におけるdll利用
 C#におけるdll作成
 C#におけるdll利用
 C#におけるCLI準拠のdll利用
 C#における非CLI準拠のdll利用
 共通言語基盤(CLI:
Common Intermediate Language)
 .NET Frameworkの基幹を成すプログラミング言語の相
互運用する為の規格
 共通言語システム (CLS: Common Language System)
 共通型システム (CTS: Common Type System)
 一般的に変数型は言語毎に定義されているのに対し、共
通の型を定義することでプログラム間のデータのやり取
りを円滑にする。
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
.NET Frameworkと開発実行フロー
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
C#のデータ型
予約語
sbyte
byte
short
ushort
int
uint
long
ulong
char
float
double
bool
decimal
string
実態
System.SByte
System.Byte
System.Int16
System.UInt16
System.Int32
System.UInt32
System.Int64
System.UInt64
System.Char
System.Single
System.Double
System.Boolean
System.Decimal
System.String
http://www.edu.tuis.ac.jp/~tyamagu/pl/
説明
符号付き8ビット整数
符号なし8ビット整数
符号付き16ビット整数
符号なし16ビット整数
符号付き32ビット整数
符号なし32ビット整数
符号付き64ビット整数
符号なし64ビット整数
文字型
単精度実数
倍精度実数
論理型(falseとtrueのみ)
10進型
文字列型
Javaの場合
byte
short
int
long
char
float
double
boolean
String
東京情報大学 ESCLab.
Hello Worldのモジュール化
 MVCモデルで記述した
Hello Worldをベース
にモジュール化
 View以外をdll化
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
演習:C#におけるCLI準拠のdll利用
 作成済みdllをダウンロードしこれを利用したGUI
を作成する。
1. 授業用ページからdllをダウンロード
2. 新規プロジェクトの作成
 Windows フォームアプリケーション
3. 参照設定
 参照の追加でダウンロードしたdllを選択
4. GUIの作成とソースコードの編集
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
演習:C#における非CLI準拠のdll利用
 DllImportにより非CLI準拠dllのメソッドと内部
のメソッドの対応を記述する
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
課題
 通常課題
 MVCモデルで記述したHello Worldをベースにモジュー
ル化を行い、HelloControllerとHelloModelクラスを含
むdllを作成せよ。
 ヒント
 新規プロジェクトからクラスライブラリを選択する
 ソリューションには複数のプロジェクトを追加できる
 DLL用プロジェクト
 デバッグViewer用プロジェクト
 デバッグ用のViewer側では参照にプロジェクトを追加
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.
最近のC#やWindows開発について
 Windowsアプリケーションの開発
 Windows 8+Windows Phoneへ
 MSDNライブラリ
 http://msdn.microsoft.com
 C#の動向
 クロスプラットフォーム用言語に
 Mono Develop
 http://monodevelop.com
 Unity
 http://japan.unity3d.com
 Play Station Mobile Dev Portal
 https://psm.playstation.net
 XNA Game Studio
http://www.edu.tuis.ac.jp/~tyamagu/pl/
東京情報大学 ESCLab.