05/08/27 06:05:37
>>743
>>744
どうもありがとうございます。
>>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 ...'が出る、ということでしょうか・・・?