共用方式為


編譯器錯誤 C2356

在編譯單位中不需要變更初始化區段

可能的原因:

  • #pragma init_seg 前面加上區段初始化程序代碼

  • #pragma init_seg 前面加上另一個 #pragma init_seg

若要解決,請將區段初始化程式代碼移至模組的開頭。 如果必須初始化多個區域,請將它們移至不同的模組。

下列範例會產生 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