>>743 なるほど、このソースなら確かにできますね・・・(なぜかBCCが通らない箇所があったので少し変えましたが・・・) 私がやっていたのは、デフォルトのデータセグメントを変えずに、.defファイルだけで SEGMENTS _DATA CLASS 'DATA' SHARED とやったのです。 ご紹介のソースで
File: SharedData.cpp //#pragma option -zRSHSEG // change default data segment name //#pragma option -zTSHCLASS // change default data class name
File: Shared.def SEGMENTS ; SHSEG CLASS 'SHCLASS' SHARED _DATA CLASS 'DATA' SHARED
としたらやっぱり 'Cannot run...'が出ました。
よくよく調べたら、 _DATA CLASS 'DATA' SHARED とすると、通常のグローバル変数などは'.data'セクションにそのまま置かれ、共有の'_DATA'セクションにCRT内部変数(_hInstanceなど)が置かれてしまいます。これじゃ意味ないですね・・・ つまるところ、CRT内部変数を共有セクションに置くと'Cannot run ...'が出る、ということでしょうか・・・?