第 3 章 Visual C# .NET への移行 66
4.3 その他の注意事項と追加情報
4.3.11 Visual C++ .NET の補足情報
Visual C++ .NETで ア ン マ ネ ー ジ ア プ リ ケ ー シ ョ ン を 作 成 す る 場 合 は 、 DllImportAttributeを指定するプラットフォーム呼び出しではなく、Visual C++ 6.0 アプリケーションの作成と同じように、ヘッダファイルのインクルード指定と、
インポートライブラリのリンク指定を行うことでDLL関数を呼び出すアプリケー ションを作成することができます。
アンマネージアプリケーションとは、Visual C++プロジェクトの「MFCアプリケ ーション」や「Win32プロジェクト」のテンプレートを使用して作成されるアプ リケーションです。
図 4-5 新しいプロジェクト ダイアログ
Visual C++アンマネージアプリケーションで、弊社Windows用ソフトウェアライブ ラリDLLを使用する手順を説明します。
1.アプリケーションのプロジェクトを開きます。
プロジェクトのプロパティを開きます。
プロジェクトのプロパティページの「構成」より「C/C++」-「全般」を選択しま す。
右のウィンドウにある「追加のインクルードディレクトリ」という項目に、ソフ トウェアライブラリのヘッダファイルの保存先を追加します。
(例:H:¥work¥interface¥GPC2000¥include)
図 4-6 プロジェクトのプロパティ インクルードディレクトリ設定
2.インポートライブラリの検索パス設定を行います。
プロジェクトのプロパティページの「構成」にある「リンカ」-「全般」を選択 します。右のウィンドウにある「追加のライブラリディレクトリ」にソフトウ ェアライブラリが提供するインポートライブラリの保存先を追加します。
(例:H:¥work¥Interface¥GPC2000¥lib)
3.リンカに、リンクするインポートライブラリ名を追加指定します。
プロジェクトのプロパティページの「構成」にある「リンカ」-「入力」を選択 します。
右のウィンドウにある「追加する依存関係」にインポートライブラリのファイ ル名を追加します。(例:fbidio.lib)
図 4-8 プロジェクトのプロパティ依存関係の設定
4.DLLが提供する関数を使用するための設定は以上で完了です。
ソースファイル内で、ヘッダファイルのインクルード指定を行い、各DLLの関 数を記述することができます。
用語集
■アンマネージ コード
共通言語ランタイムの規則および要件に関係なく作成されたコード。アンマネージ コードが共通言語ランタイム環境で実行される場合は、最小限のサービスで実行さ れます。たとえば、ガベージ コレクションは実行されず、デバッグ機能も限定さ れます。
■エンコードとデコード
本チュートリアルでは、文字コードの変換に対して、「エンコード」と「デコード」
という表現を使用しています。
エンコードとは、Unicode 文字から別のエンコーディングによるバイト集合へ変換 することをさします。
デコードは、何らかのエンコードによるバイト集合から Unicode 文字へ変換するこ とをさします。
.NET Framework には、各種のエンコーディングごとにクラスがあります。
ASCIIEncoding、CodePageEncoding、UnicodeEncoding、UTF7Encoding、 お よ び
UTF8Encoding といったクラスが用意されています。
■オーバーロード
同じ名前を持つ関数、プロパティまたはメソッドの別のバージョンを提供すること をさします。名前は同じでも、パラメータの数またはパラメータのデータ型は異な っている必要があります。
関数のオーバーロード とは、名前が同じで引数リストが異なる、複数のバージョ ンの関数を定義することです。
■共通言語ランタイム
マネージ コード実行の核となるエンジン。共通言語ランタイムは、マネージ コー ドと共に、言語間の統合、コード アクセス セキュリティ、オブジェクトの有効期 間の管理、デバッグ、プロファイルのサポートなどのサービスを提供します。
■デリゲート
.NET Frameworkには、関数ポインタの機能を提供する特別な型 (Delegate) が定義 されています。
■ネームスペース
.NET Framework上のソフトウェアコンポーネントは、ネームスペース(名前空間)
を使用してクラスを識別します。
名前空間は、クラスの可視範囲(参照可能なスコープ)を決定します。
プログラムを作成する時、Imports(Visual Basic)や、using (C#)キーワードを使 い、参照したいクラスが定義されているネームスペースを指定します。
これにより、その名前空間に含まれる、目的のクラスを参照できるようになります。
Imports やusingキーワードは、C言語の「#include」と同じような働きをするものと
捉える事ができます。
■マーシャリング
関数のパラメータを、スレッドまたはプロセスの境界を越えて、パッケージ化して 送ったり、パッケージ化を解除するプロセスを言います。
■マネージ コード
共通言語ランタイムとの "連携のコントラクト" に従って実行されるコード。マネ ージ コードは、ランタイムがメモリ管理、言語間の統合、コード アクセス セキュ リティ、オブジェクトの有効期間の自動管理などのサービスを提供するために必要 とするメタデータを提供する必要があります。Microsoft Intermediate Language
(MSIL) に基づくコードはすべて、マネージ コードとして実行されます。
技術資料紹介
弊社では下記の技術資料を提供しております。
詳しくは、弊社Web site(www.interface.co.jp)、または弊社窓口までお問い合わせ下さい。
カタログ
PRM-0061 CPZカタログ(日本語版)
PRM-0062 PCIカタログ(日本語版)
PRM-0063 CSIカタログ(日本語版)
チュートリアル
TUT-0056 チュートリアル XP Embedded OS構築編
TUT-0055 チュートリアル 画像入力ボード
TUT-0054 CANチュートリアル
TUT-0053 モーションコントロールチュートリアル
TUT-0050 RTLinuxによるモーションコントローラボード制御プログラミング チュートリアル(GPG-7400用)
TUT-0048 RTLinuxによるカウンタボード制御プログラミング チュートリアル
TUT-0044 RTLinuxによるメモリ共有インタフェースボード制御プログラミング チュートリアル
TUT-0043 RTLinuxによる調歩同期シリアル通信ボード制御プログラミング チュートリアル
TUT-0041 RTLinuxによるGP-IBボード制御プログラミング チュートリアル
TUT-0040 RTLinuxによるDAボード制御プログラミング チュートリアル
TUT-0039 RTLinuxによるADボード制御プログラミング チュートリアル
TUT-0038 RTLinuxによるDIOボード制御プログラミング チュ-トリアル
TUT-0037 RTLinuxによるHDLCボード制御プログラミング チュートリアル
TUT-0036 RTLinuxによるPCI/CompactPCI/CardBus制御入門書(導入編) TUT-0034 Visual C++によるPPI入門書
TUT-0033 Visual Basicによるメモリ共有インタフェース入門書
TUT-0032 Visual C++によるメモリ共有インタフェース入門書
TUT-0031 Visual Basicによるカウンタ入門書
TUT-0030 Visual C++によるカウンタ入門書
TUT-0029 Visual BasicによるHDLC入門書 TUT-0028 Visual C++によるHDLC入門書 TUT-0027 Visual BasicによるGP-IB入門書 TUT-0026 Visual C++によるGP-IB入門書 TUT-0025 Visual BasicによるDIO入門書 TUT-0024 Visual C++によるDIO入門書 TUT-0023 Visual BasicによるDA入門書 TUT-0022 Visual C++によるDA入門書 TUT-0021 Visual BasicによるAD入門書 TUT-0020 Visual C++によるAD入門書
TUT-0019 Visual Basicによるモーションコントローラ入門書
TUT-0018 Visual C++によるモーションコントローラ入門書
TUT-0017 メモリンクを使用した負荷分散システム事例チュートリアル
TUT-0016 Visual BasicによるPPI入門書
TUT-0015 モーションコントロールチュートリアル
TUT-0014 Microsoft Visual Studio .NET移行ガイド
TUT-0008 拡張ユニット チュートリアル(問題解決編)
TUT-0007 拡張ユニットチュートリアル(入門編)
TUT-0006 C(98)/ISA製品からPCI/CompactPCI製品への移行チュートリアル(DOS編)
TUT-0005 DOSによるLAP-B入門書
TUT-0004 DOSによるAD入門書
TUT-0003 LinuxによるPCI/CompactPCI/CardBus制御 入門書
TUT-0002 PCI-ISAバスブリッジチュートリアル
TUT-0001 PCI-Cバスブリッジチュートリアル
技術情報資料
初めてのCANインタフェース
参考文献
・Microsoft MSDN ライブラリ 2002年10月リリース
・Microsft Visual Studio .NET Professional ヘルプドキュメント
・C#標準リファレンス(日経BPソフトプレス)
Microsoft Visual Studio .NET移行ガイド 2005年 9月 Ver. 3.3 発行
発行所
〒732-0828
広島県広島市南区京橋町10-21 TEL 082-262-7777
FAX 082-262-5066
ISD-7078-33
価格 ¥2,100 (定価 ¥2,000 + 消費税 ¥100)