暇を見つけてはOrcas-Mar2007のSTL/CLRをこねくりまわして遊んでおるわけですが。
Mar2007版でずいぶん大きく変わっています。
これ以前の版ではヘッダとアセンブリを引っこ抜いてきてVC++2005(VC8)で問題なく
動いてたんだけど、Mar2007ではエラーの嵐。ヘッダに大きな変更が加えられてて、
Orcasのコンパイラ(VC9)じゃないと通してくれないポ。
ヘッダ覗いてみたところ、/clr:safeオプション付けておけばVC8でもだいぢょぶみたい。
…ぶっちゃけよぉわかっとらんのですが、safe-modeって何がsafeなのよ?
pure-modeてぇのはnativeコードを一切含まない純managedなやつらしい(本当?)けど、
native含まんのだったらC++/CLI使う意味がなっさげ。C#で書けばえぇのやし。
わからんのはsafe-modeってやつで、pureほどにはpureでなくてもいいらしい。
んじゃ、どんなnativeコードなら許してくれるんだろか。
MSDNにはアレはダメ/コレもダメって禁止事項が列挙されてんだけど、
何が許されてるか/どうすれば許されるかの説明が皆無に等しいように思えます。
あまりに制限キツくってえらく苦労するようだとアレなんだけど、
ちょいとした味付けでsafeにできるのかしらん? 教えて偉いヒト。
[追記] まてまてまてーぃ。
pureの方がむしろ制限キツくないんじゃまいか?
たとえば↓コレ。 pureだとコンパイルできるけどsafeだとエラーの嵐。
#include <cstdio>
int main() {
printf("Hello, world\n");
}
…んーむ、わからん。 やっぱり教えて > 偉いヒト