• ベストアンサー

C#からC++/CLIにサンプルソースを書き換えたい。

VC++/CLIは、過去のソースをそのまま利用できる(マネージ・アンマネージ混在可能)?ので、C++/CLIで作成したく、 以下のURLにC#のサンプルソースはあるので、 http://www.geocities.jp/hatanero/socket1.html これからVC++/CLIに書き換えたいのですが、ここは全然違うというものがありましたら、教えて下さい。 C#からVC++/CLIに変換できるツールはあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLK314
  • ベストアンサー率55% (84/152)
回答No.3

はっきりいってC#とCは全く別言語です。 CとC++のような互換性はありませんし、 エディタの"すべて置換"機能で機械的にバンバン置き換えれば完成! というほど、甘く見ないほうがよいと思います。 きちんとC#及びC++/CLIを学習することを強く勧めます。 >C#からVC++/CLIに変換できるツールはあるのでしょうか? ツールの存在は未確認です。 しかし、あったとしても頼り切らない方がいいと考えます。 MicrosoftとしてはC#とC++を役割分担させたい方向のようです。 http://blogs.msdn.com/somasegar/archive/2007/08/08/visual-c-futures.aspx (英語です) 具体的には C++はネィティブ開発に特化させ、.NETの開発はC#を主力にしたい模様です。 この様に、言語の特性が違う以上、 対応する機能(クラス等)が存在しなかったりすると考えられます。 無理やり変換しても、とても非効率、読みにくいコードで、 改修も一苦労ということになりかねません。 参考程度で、結局は人が介入せざるを得ないと思います。

その他の回答 (2)

回答No.2

> 構造体の書き方でつまずきました。 マニュアルを読んでください。 ref struct { public:  System::String^ a;  int b; };

回答No.1

大差ありませんね、おおむね機械的に書き換え可能です。 # どの程度で"全然違う"とするのかわからないけども

kourei
質問者

補足

構造体の書き方でつまずきました。 struct Test { public string a; public int b; } で以下のようになります。 error C2146: 構文エラー : ':' が、識別子 'string' の前に必要です。

関連するQ&A