以前アップロードした「WPF 逆引き集」に乱丁があったので、 改訂して最新版をアップロードし直しました。 既にダウンロードされた方には見苦しいものを公開してしまい申し訳ありませんでした。
Author Archives: twyujiro15
C/C++ による汎用 DLL を作成する その6
いよいよ最終回です。 今回はメンバにポインタを含む構造体を受け渡す方法について紹介します。 DLL 側で次のような関数を公開します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <stdio.h> #include <string.h> #include "SampleDll.h" typedef struct _SampleStruct2 { int length; double* data; } SampleStruct2, *PSampleStruct2; namespace Tips_Win32DLL { double g_dData[256]; void __stdcall Sample06(SampleStruct2* st) { printf("--<SampleDll:Sample06>---------------\r\n"); memset(st, 0, sizeof(SampleStruct2)); memset(g_dData, 0, sizeof(g_dData)); (*st).length = 10; (*st).data = g_dData; for (int i = 0; i < (*st).length; i++) { g_dData[i] = (i + 1) / 10.0; } printf("-------------------------------------\r\n"); } } |
構造体メンバにはアド … Continue reading
C/C++ による汎用 DLL を作成する その5
前回までで単純なメソッドを DLL から呼び出すことができるようになりました。 今回はメソッドに文字列型や構造体を含む場合について考えましょう。 C/C++ で次のような文字列を扱う関数を用意してみましょう。 [cray … Continue reading
C# で簡単に年齢計算をおこなう
年齢を計算するときに結構有名な方法として次の手順があります。 誕生日と年齢を計算する基準の日付を “YYYYMMDD” 形式で 8 桁の数値に変換する 変換した数値で { (基準の日付) R … Continue reading
RadarChart コントロール作りました
唐突ですが、 レーダーチャートを描画するための RadarChart コントロールを作成しました。 完成の喜びのあまり、思わずスクリーンショットを貼りたくなった次第です。 以上。
C/C++ による汎用 DLL を作成する その4
前回では次のような関数を公開する DLL を C/C++ で作成しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <stdio.h> #include "SampleDll.h" #define PI 3.1415926536 namespace Tips_Win32DLL { double __stdcall Sample01(int a) { printf("--<SampleDll:Sample01>---------------\r\n"); printf("a = %d\r\n", a); printf("-------------------------------------\r\n"); return PI; } } |
今回はこの DLL を C# から使う方法をまとめます。 とりあえず C# の … Continue reading
WPF 学習用ドキュメント作りました
WPF の日本語ドキュメントもかなり増えてきて喜ばしいのですが、 エッセンシャル的な書籍が多い印象を受けています。 例えば「10 日でできる」とか「WPFで作る○○」とかいったような、 作業しながら読み進める学習本みたい … Continue reading
C/C++ による汎用 DLL を作成する その3
C++ で他の言語からでも利用可能な汎用 DLL を作成するには、次のことを守る必要があります。 クラスではなく関数をエクスポートするようにする クラスをエクスポートした場合、DLL 側のコンストラクタ/デストラクタを … Continue reading
C/C++ による汎用 DLL を作成する その2
今回は C++ による汎用 DLL を作成するための Visual Studio のプロジェクトを作成します。 Visual Studio のバージョンによっては多少の違いはありますが、 概ねここで紹介するような方法でで … Continue reading
C/C++ による汎用 DLL を作成する その1
C# は JIT コンパイルが走って実行速度が落ちるので、 計算の肝の部分はやっぱり C/C++ で実行したい。 (というか秘伝のソースが C/C++ なのでこれを活用したいというのが本音) そんなときは C/C++ で … Continue reading