C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: C++ のLib を .NETで使用できるDLLに変換したい


(過去ログ 54 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■30497 / inTopicNo.1)  C++ のLib を .NETで使用できるDLLに変換したい
  
□投稿者/ べん (1回)-(2008/12/25(Thu) 01:33:19)

分類:[C/C++] 

お世話になります。

C++ (VisualStudio2003) で Libを作成するプロジェクトがあります。
このプロジェクトをDLLを作成するように変更したいと思っています。
※.NETプログラムから呼び出したいです。

こういった事は可能でしょうか?

また、いいサイトがあれば教えて下さい。

宜しくお願いします。
引用返信 編集キー/
■30498 / inTopicNo.2)  Re[1]: C++ のLib を .NETで使用できるDLLに変換したい
□投稿者/ επιστημη (1479回)-(2008/12/25(Thu) 06:51:11)
επιστημη さんの Web サイト
2008/12/25(Thu) 09:36:10 編集(投稿者)

いちばん楽なのは C++/CLI で managed のカワを被せることですねー

http://codezine.jp/article/detail/2414?p=4
あたりで、C-lib.をC++/CLIでくるんでmanaged化してます。

http://www.atmarkit.co.jp/fdotnet/special/vcppinvista01/vcppinvista01_01.html
こっちの方が簡単かしら。

引用返信 編集キー/
■30503 / inTopicNo.3)  Re[2]: C++ のLib を .NETで使用できるDLLに変換したい
□投稿者/ 倉田 有大 (408回)-(2008/12/25(Thu) 11:45:28)
No30498 (επιστημη さん) に返信
> 2008/12/25(Thu) 09:36:10 編集(投稿者)
>
> いちばん楽なのは C++/CLI で managed のカワを被せることですねー
>
> http://codezine.jp/article/detail/2414?p=4
> あたりで、C-lib.をC++/CLIでくるんでmanaged化してます。
>
> http://www.atmarkit.co.jp/fdotnet/special/vcppinvista01/vcppinvista01_01.html
> こっちの方が簡単かしら。

なるほどー勉強になるなー
VC++は高速な内部処理をかかせて、後はマネージドということでしょうか。
ところで3Dゲームで全部マネージドってすでにあるのかな。


ぺんさん、クラスじゃなくメソッドだけの呼び出しならC#から直接できます。
クラスよびたいときはえぴすてーめーさんの方法です。
引用返信 編集キー/
■30506 / inTopicNo.4)  Re[3]: C++ のLib を .NETで使用できるDL
□投稿者/ 渋木宏明(ひどり) (1010回)-(2008/12/25(Thu) 13:34:26)
渋木宏明(ひどり) さんの Web サイト
2008/12/25(Thu) 14:07:42 編集(投稿者)

> VC++は高速な内部処理をかかせて、後はマネージドということでしょうか。

大まかにはそれでいいと思うけど、結局は「適材適所」てことになります。

マネージ/アンマネージを混在させると、明に暗にデータ変換が発生するので、そのコストも見込んでおかないと「高速」を狙ったはずが「中速」「低速」に落ち込んでしまうこともあり得ます。

> ところで3Dゲームで全部マネージドってすでにあるのかな。

市販だとなさーだけど、オンラインならあると思います。

引用返信 編集キー/
■30548 / inTopicNo.5)  Re[4]: C++ のLib を .NETで使用できるDL
□投稿者/ べん (2回)-(2008/12/26(Fri) 03:20:29)
いろいろありがとうございます。

相当勉強になります。

>ぺんさん、クラスじゃなくメソッドだけの呼び出しならC#から直接できます。

これは、C-lib.をC++/CLIでくるんでmanaged化しなくてもという意味でしょうか?

宜しくお願い致します。
引用返信 編集キー/
■30550 / inTopicNo.6)  Re[3]: C++ のLib を .NETで使用できるDLLに変換したい
□投稿者/ Azulean (260回)-(2008/12/26(Fri) 07:55:01)
> ぺんさん、クラスじゃなくメソッドだけの呼び出しならC#から直接できます。
恐らく「メソッド」の意味合いによるのかも知れませんが、クラスのメンバー関数(非static)であれば、直接呼ぶことはできないと思います。
# thiscallを自分でやるんだというのであれば別ですが…

関連: http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=4257356&SiteID=7

> これは、C-lib.をC++/CLIでくるんでmanaged化しなくてもという意味でしょうか?
VS2003でビルドしなければならないという要件があるのであれば、VS2005からとなるC++/CLIは使えません。
Managed C++になりますが、言語仕様が結構分かりにくいかも。(C++/CLIとはかなり違います)
引用返信 編集キー/
■30551 / inTopicNo.7)  Re[4]: C++ のLib を .NETで使用できるDLLに変換したい
□投稿者/ επιστημη (1480回)-(2008/12/26(Fri) 08:35:44)
επιστημη さんの Web サイト
>>これは、C-lib.をC++/CLIでくるんでmanaged化しなくてもという意味でしょうか?
> VS2003でビルドしなければならないという要件があるのであれば、VS2005からとなるC++/CLIは使えません。
> Managed C++になりますが、言語仕様が結構分かりにくいかも。(C++/CLIとはかなり違います)

あーそかそか、2003か。そーなるとC++/CLIは×ですねぃ。
C#からC-関数を呼びたいのであれば P/Invoke ってワザがあります。
検索すればざくざく見つかるでしょう。

# 「C#から直接できます」てのは P/Invoke のコトじゃないかしら。

引用返信 編集キー/
■30655 / inTopicNo.8)  Re[5]: C++ のLib を .NETで使用できるDLLに変換したい
□投稿者/ べん (3回)-(2008/12/31(Wed) 02:10:19)
遅くなりすいません。

VS2008を使用できるようになり、C++/CLIを使えるようになりました。

> http://www.atmarkit.co.jp/fdotnet/special/vcppinvista01/vcppinvista01_01.html
> こっちの方が簡単かしら。

この辺りを参考にさせて頂きます。
ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -