タグ

.NETとCLIに関するshokaiのブックマーク (3)

  • 橋本商会 » Cで書いたOpenCVのコードをC++/CLIで.NET用DLLにしてC# Formアプリから使う

    重い画像処理をC++の画像処理ライブラリであるOpenCVでやって、ネットワーク処理は慣れ親しんだC#.NETでやりたい。 そこで、色々試行錯誤した結果、C#からは「処理し終わった画像を表示してくれるカメラ」に見えるような、OpenCVの処理部分を含んだDLLをC++/CLIで作ることにした。 (OpenCVそのものについてと開発環境構築は橋商会 ? OpenCVをはじめたに書いた) 他にも連動のさせかたはSharperCVというC#ラッパーを使うとか、SocketでOpenCVで処理した結果の画像だけ送るとか色々とやり方はあるけど、 前者は2003年でプロジェクトが止まっていてcvPow等の配列関連の関数が無く、後者は俺のMicrosoft SDKのWinUser.hの6373行目あたりから文字化けしていてWinSocketが使えなかったりしたのでDLLを作るやり方に落ち着いた。 この

    橋本商会 » Cで書いたOpenCVのコードをC++/CLIで.NET用DLLにしてC# Formアプリから使う
    shokai
    shokai 2009/04/25
    これでOpenCVプログラマーとコラボレーションできるようになった
  • DLLの概要と実装方法。 - かせいさんとこ

    VisualStudio2005のC++で、DLLを作ることになったので、そのまとめ。 注意! VisualStudio2005を使ったDLLの実装方法です。他の環境ではたぶん当てになりません。 また、/clr:pureでDLLを呼び出す場合の実装方法もよくわかっていない為、その辺もご理解の上読んで下さい。 DLLとは? ダイナミック・リンク・ライブラリの略。詳細はウィキペディア見れ。 libとの違いは? libは静的。 libはコンパイル時にリンクされる。 その為、更新時には、アプリの再コンパイルが必要。 DLLは動的。 DLLは実行時にリンクされる。 その為、更新時には、DLLの上書きだけで、アプリの再コンパイルが不要。 複数のアプリで読み出されても、アプリと独立した1つのメモリ空間しか使わないので、libよりメモリ上有利。 今回は各ライブラリが頻繁にアップデートされる予定の為、DLL

    DLLの概要と実装方法。 - かせいさんとこ
  • C#からC++のDLLを利用する方法 - pota_dahonの日記

    <方法1> C++/CLIでC++のDLLのマネージドなラッパーを作って、それをC#からつつく <方法2> PInvokeというプラットフォーム呼び出しというおまじないをかけて、C# から呼ぶ <方法1のための参考文献リンク> ■@IT総合トップ > テクノロジー > Insider.NET > 特集 > Visual C++ 2005 > いままたC++が熱い!「C++/CLI」として大進化したVisual C++ 2005 http://www.atmarkit.co.jp/fdotnet/special/cppcli/cppcli_01.html ■@IT総合トップ > テクノロジー > Insider.NET > 特集 > Vista時代のVisual C++の流儀(前編) http://www.atmarkit.co.jp/fdotnet/special/vcppinvista0

    C#からC++のDLLを利用する方法 - pota_dahonの日記
  • 1