C++/CLIをAny CPUで動作させる方法

少々無理矢理ではありますが、C++/CLIのコードを32/64bit両方で動作させることができました。

ポイントは以下の2点

  1. C ランタイム ライブラリ(CRT)を使用しないコードを生成する。
    参考:http://d.hatena.ne.jp/ak11/20070313/p1

  2. CorFlags.exeを使用し、作成したコードの32BIT フラグをクリアする。
    例: >CorFlags.exe lib_vc.dll /32BIT-

この操作で、32/64bitどちらでも動作するAny CPUのコードが作成できました。
無理矢理ではあるので何らかの弊害があるかもしれません。
あと、C ランタイム ライブラリ(CRT)を使用しないコードで参考にしたページにもあったように
制限もいろいろあるようです。
結局のところ、ネイティブコードを混在させないのであれば、
C++/CLIを使わずに最初からC#で書けということでしょうか・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です