次の方法で共有


コンパイラ エラー C2356

初期化セグメントは翻訳単位の間で変更することはできません

注釈

考えられる原因:

  • #pragma init_seg の前にセグメント初期化コードがある

  • #pragma init_seg の前に別の #pragma init_seg がある

解決するには、セグメント初期化コードをモジュールの先頭に移動します。 複数の領域を初期化する必要がある場合は、個別のモジュールに移動します。

Example

次の例では C2356 が生成されます。

// C2356.cpp
#pragma warning(disable : 4075)

int __cdecl myexit(void (__cdecl *)());
int __cdecl myexit2(void (__cdecl *)());

#pragma init_seg(".mine$m",myexit)
#pragma init_seg(".mine$m",myexit2)   // C2356