[an error occurred while processing this directive] [an error occurred while processing this directive]

.NET

今後のスタンダード。でも普通のC++と混ぜて書こうとすると、GCがらみで怒られたり散々でした。.NET使うなら素直にC#で書くのが正解かも。

VC++ .NETは.NETと普通のC++を混ぜて使える!?

VC++.NETは、従来のC++に.NETという新しいライブラリが乗っかったもの…と僕も考えていました。でも、新しくソフト書くなら、そういう考えは捨てた方が良さそうです。
.NETではGC(garbage Collection)が導入されています。GC下のメモリはmanaged memory (管理されたメモリ)と呼ばれ、普通のmallocや今までのnew()で確保したメモリと互換性がありません。具体的に言うと、char *からconst char *へのキャストが出来なかったり、.NETのGCが行われるクラス内で確保されるオブジェクトはGCに対応していないといけない…などです。
STLとかCの関数をばりばり使ったクラスは.NETのクラスの外部に書いて、外から引数を渡して呼び出すのが良さそうです。

Some tips

[an error occurred while processing this directive]