C++相談室 part119 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0391デフォルトの名無しさん
2015/09/22(火) 04:24:02.48ID:PT+IC+/U> C#なら回収されるのはアプリケーションドメイン単位
了解した。
> それはおそらく関数ポインタを入れてる変数がGCされている
その線は考えたが、、、まあ上記と合わせて冷静に考えればそのようだ。
ここの人達は関数の動的配置/回収をそもそも信じていない。
だから回収事例として用意したつもりだが確かに間違いのようだ。
動的関数生成をしないのなら、GCする必要もなく、回収がAPドメイン単位なら静的展開してそれっきりだね。
ちなみに回収タイミング/単位自体は俺は気にしておらず、動作できる例として出していたのだが、
そこに噛みつく奴がいて余計におかしな事になった。
ただまあ、APドメイン単位での回収で確定だし、助かった。
> プロセス全体を停止せずに、個々のアプリケーションを停止できます。 アプリケーション ドメインを使用すると、1 つのアプリケーション内で実行されているコードをアンロードできます。
> 個々のアセンブリや型はアンロードできません。 アンロードできるのはドメイン全体だけです。
https://msdn.microsoft.com/ja-jp/library/2bh4z9hs(v=vs.110).aspx
ただこれならもうちょっとC++/CLIは緩くてもいいはずなのだが、、、
他クラスのpublicメンバ関数を呼ぶ場合もstaticじゃないとC2352エラー(下側例)になるのだが、これは何故?
APドメイン単位で展開してるのなら呼ばせてくれよーと思う。(これがあるから型単位だと思っていた)
https://msdn.microsoft.com/ja-jp/library/2x426hte.aspx
なお回答頂けるのであれば、CLIスレで構いません。
http://peace.2ch.net/test/read.cgi/tech/1268613679/
■ このスレッドは過去ログ倉庫に格納されています