.NET

私がC++/CLIを嫌う理由

以前ちょろっと触れたC++/CLIは避けて通りたいという話ですが、そう思うようになった経験談を書いてみます。 はじめてだらけの.NET開発がはじまる 描画ルーチンとゲームリソースコンバータはUnmanaged C++からDirectXを使って実装し、C#から操作するためのラ…

delegateの寿命

先日のid:NyaRuRuさんのツッコミを実際に試してみました。 //hoge.dll #include <stdio.h> extern "C" { typedef const char* (*message)(); static message s_fn = 0; __declspec(dllexport) void set( message msg ){ s_fn = msg; } __declspec(dllexport) void say</stdio.h>…

C#からアンマネージドDLL関数の呼び出しとコールバック関数渡し

まずC++でこんな.dllを作る。仮にgreeting.dllとする。 #include <stdio.h> extern "C" { typedef const char* (*WhatDoYouSay)(); __declspec(dllexport) void Greeting(WhatDoYouSay callback) { printf("Greeting: %s\n",(*callback)()); } } この場合C#からの呼び</stdio.h>…