05/12/02 14:36:09
>>210
.NETの場合「関数API、その上にクラスライブラリ」これがP/Invoke(WinForms、Avalon)、
COMの場合COM Interop(WebBrowserコントロール、VSTO)、C++コードを「まっ
たくそのまま」使うのならC++/CLI(Managed DirectX)、ネイティブアプリからコントロール
したいならCRL Hosting(SQL Server2005)。
簡単にいえば.NETはマネージ/アンマネージ境界のコントロールはユーザーが行う。
その方法はMSだって利用しているし、普通に仕様として公開されているので、GTK#なんて
のもあるし、OpenGLをラップしてクラスライブラリにしたものだって存在したりする(結構すぐ
出来たりするんだなこれが)。
「ネイティブが存在することなんて初めから織り込んである」し、過去の資産ふっとばしなんて
ならない。勉強不足。
というかMSだって過去の資産あるんだから当たり前の話だがな。
じゃあ何でLonghornでCLRをAPIうんたらいっているかというと、単純に新機能の多くがCLRが
提供するサービスをそのまま使っているからだ。まぁCLR Hostingでその辺ネイティブからも
取り出せるけどな。