Programming/C++ 일반

#pragma init_seg( {compiler | lib | user | "섹션이름"[, 함수이름]} )

영스파파 2011. 6. 7. 18:44

#pragma init_seg( {compiler | lib | user | "섹션이름"[, 함수이름]} )

파일 스코프에 선언된 정적 객체가 생성, 소멸되는 시점을 설정한다.
한 소스코드에서는 하나의 #pragma init_seg()만 사용할 수 있다.

//CA.cpp


class CA

{

int a;

int b;


public:

CA();

~CA();

};


CA::CA()

{

a = 10;

b = 10;

}


CA::~CA()

{

a = 10;

b = 10;

}


#pragma init_seg(lib)


CA ca;




//CB.cpp


class CB

{

int a;

int b;


public:

CB();

~CB();

};


CB::CB()

{

a = 10;

b = 10;

}


CB::~CB()

{

a = 10;

b = 10;

}


#pragma init_seg(compiler)


CB cb;




//CC.cpp


class CC

{

int a;

int b;


public:

CC();

~CC();

};


CC::CC()

{

a = 10;

b = 10;

}


CC::~CC()

{

a = 10;

b = 10;

}


#pragma init_seg(user)


CC cc;




CB -> CA -> CC 순으로 생성.
CC -> CA -> CB 순으로 소멸.