Programming
[C/C++] 공유 섹션 사용하기~~
XeroNic(HS)
2007. 8. 18. 13:25
반응형
<< 이글루에 올렸던 포스트를 그대로 가져옴~ >>
PE 포맷의 실행파일은 구조적으로 섹션이라는 게 존재합니다.
보통 실행코드는 .text 섹션에, 데이터(초기화된 변수들)는 .data 섹션으로 지정되며(VC++ 기준)
그 외 필요에 따라서 다른 섹션들도 존재할 수 있구요.
개발을 하다보면 경우에 따라서 자신이 작성한 실행코드 혹은 데이터들을
별도의 섹션으로 만들어서 분리를 해야하는 경우도 생길 수 있는데...
이럴 때는 #pragma 전처리기를 이용하면 됩니다.
먼저 데이터들을 섹션으로 분리하고 싶을 때는...
그리고 실행 코드들을 섹션으로 분리하고 싶을 때는...
이런식으로.. 코드를 구현하면 됩니다.
데이터섹션을 추가하고 싶으면 data_seg() 를, 코드섹션을 추가하고 싶으면 code_seg() 를
사용하면 됩니다.
PE 포맷의 실행파일은 구조적으로 섹션이라는 게 존재합니다.
보통 실행코드는 .text 섹션에, 데이터(초기화된 변수들)는 .data 섹션으로 지정되며(VC++ 기준)
그 외 필요에 따라서 다른 섹션들도 존재할 수 있구요.
개발을 하다보면 경우에 따라서 자신이 작성한 실행코드 혹은 데이터들을
별도의 섹션으로 만들어서 분리를 해야하는 경우도 생길 수 있는데...
이럴 때는 #pragma 전처리기를 이용하면 됩니다.
먼저 데이터들을 섹션으로 분리하고 싶을 때는...
// 데이터 섹션 #pragma data_seg(".MyData") . . // 별도의 섹션으로 분리할 데이터 . . #pragma data_seg() #pragma comment(linker, "/SECTION:.MyData,RWS")
그리고 실행 코드들을 섹션으로 분리하고 싶을 때는...
// 코드 섹션 #pragma code_seg(".MyCode") . . // 별도의 섹션으로 분리할 코드들 . . #pragma code_seg() #pragma comment(linker, "/SECTION:.MyCode,RWS")
이런식으로.. 코드를 구현하면 됩니다.
데이터섹션을 추가하고 싶으면 data_seg() 를, 코드섹션을 추가하고 싶으면 code_seg() 를
사용하면 됩니다.
반응형