C言語で書かれたdllをC#.netで利用したいのですが、wrapperを作成するしかないでしょうか?


いわゆるレガシーなdllなのですが、使い勝手がよいので、C#.netで、ラッパーをかませて利用しています。内容は多変量解析の計算ロジックですが、以前から長時間回していると、徐々に計算速度が落ちているのが気になっていました。これはラッパーをかませたことでメモリをうまく管理できなくなったからと推定できるでしょうか?あるいは別の理由は推定できるでしょうか?

また、ラッパー以外にもレガシーdllを実装する方法(リソースを有効活用できる方法)があれば教えてください。プログラミングは3年ほどやってますが、あくまでユーザーレベルですので、開発者目線でのアドバイスをいただければありがたいです。

回答の条件
  • 1人2回まで
  • 登録:2009/08/10 22:39:14
  • 終了:2009/08/17 22:40:02

回答(1件)

id:degucho No.1

degucho回答回数254ベストアンサー獲得回数682009/08/11 23:02:04

ラッパーというのはlibを使ってをC++/CLIでラップしているのでしょうか。

だとしたらunmanaged C++でDLLを作成して

[DllImport]で直接呼んだ方が軽いと思いますが

id:expansion05

managed dllから[dllimport]で呼んでます。

2009/08/15 10:27:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません