イメージ 1

イメージ 2

イメージ 3

夜クーラーをかけていてそのまま寝てしまい朝の1時に目を覚ましてしまった。寝付けないので、確認済みのプログラムをブログアップすることにした。先のVisual C++2010Expressで作成したUSBIOとハムログデータ送受信のVisual C++2008Express版だ。主な違いは先に述べたDLLライブラリのインポート(読み込み)の宣言の違いだけです。他はすべて同じプログラムコードで動きます。この違いをあらためて見てみるとVisual C++2008Expressはすごいと感じています。何がかと言いますと、「ライブラリ名を指定しなくとも目的のライブラリを探して読み込んでくれている。」事です。基本的にはライブラリの存在するフォルダ位置が決まっているから位置はいいとして、ライブラリ数はかなりたくさんあるから、そのなかから定義の関数を探し出していることになります。Visual C++2010Expressはとい言うときちんとライブラリ名を指定しなければなりません。ま私の現状での経験則ですので他の指定しない方法もあるかもしれませんが...上位バージョンだからな~? 指定しない方法わかる方いましたら是非教えてくださいまし。
--------------------------------------------------------------------------------
【FindWindowの例】
☆☆☆ VisualC++2008Express ☆☆☆
extern System::IntPtr __declspec(dllimport) __cdecl FindWindow(unsigned char class Name,unsigned char wndName);

☆☆☆ VisualC++2010Express ☆☆☆
[DllImport("user32.dll")]
extern System::IntPtr FindWindow(String^ className,String^ wndName);
--------------------------------------------------------------------------------
VisualC++2008Expressでも問題なく動きます。マネージドとアンマネージドの混合プログラムはいろいろと大変な変換処理が付きまとう事のほうが少し厄介な気がしています。Frameworkライブラリだけでのプログラムはやりたいことをこのライブラリだけでコーディングするのは実際難しいかも??私の感想です。
時間も3時を回ったので、一応また寝ます。おわり