티스토리 뷰
프로세서와 상관없이 커널 모드에서 공유 섹션을 이용해서 접근이 가능하다.
1. data_seg pragma를 사용하여 공유할 섹션 만들기
#pragma data_seg("SHAREDATA")
int g_nCount = 0;
char g_szText[12] = "hello world";
#pragma data_seg()
DLL 프로젝트 내부에서 ***.def 파일에는 아래 내용을 적어서 익스포트한다.
익스포트한다는 것은 링커의 고유기능이다.
SECTIONS
SHAREDATA READ WRITE SHARED
또는 코딩에서는 아래와 같은 방법을 통해서 링커단계에서 익스포트를 권장할수 있다.
#pragma comment( linker, "/SECTION:.SHAREDATA, RWS" )
// R:Read, W:Write, S:Shared
이젠 g_nCount와 g_szText데이터를 DLL 외부에서 사용할 수 있게 된다.
// Global로 선언된 변수(공유 데이터)를 리턴해줄 함수 만들기
__declspec(dllexport) int* GetCountPointer() // 물론, 외부에서 호출할 때는 __declspec(dllimport)
{
return &g_nCount;
}
__declspec(dllexport) char* GetTextPointer() // 물론, 외부에서 호출할 때는 __declspec(dllimport)
{
return g_szText;
}
물론, new로 생성한 변수들도 공유가 가능하다.
메모리 해제(delete)는 DLL 내부에서 해도 되고, DLL 외부에서 해도 된다.
참고자료
MSDN How do I share data in my DLL with an application or with other DLLs?
http://msdn2.microsoft.com/en-us/library/h90dkhs0.aspx
'IT > 프로그래밍' 카테고리의 다른 글
스크립트 기반의 윈도 설치파일(installer) 제작도구인 NSIS [펌 작성자 마하나임(almdri1004)] (0) | 2008.01.22 |
---|---|
CfileDialog에서 필터지정 (0) | 2008.01.22 |
전처리문 (#include, #define, #if, #error, #line, #pragma, ...) [펌 cafe.naver.com/devctrl.cafe] (0) | 2008.01.21 |
How To Implement a Recursive RegDeleteKey for Windows NT (0) | 2008.01.20 |
How To sscanf() Example Using a Comma (,) as Delimiter (0) | 2008.01.18 |
- Total
- Today
- Yesterday
- 지루박멸연구센타
- 열정의 힘을 믿는다
- Le4rN TO Cr4cK
- 디버깅에관한모든것(DebugLab)
- sysinternals
- FoundStone
- hashtab
- 보안-coderant
- 디바이스드라이버 개발자 포럼
- dualpage.muz.ro
- osronline.com - 드라이버 관련 정보 사이트
- NtInternals - NativeAPI Refere…
- pcthreat - spyware 정보 제공
- rootkit.com - 루트킷 관련 정보
- www.ntinternals.net
- WINE CrossRef. - source.winehq…
- tuts4you
- hex-rays
- idapalace
- idefense
- immunityinc
- threatexpert
- hdp.null2root.org
- www.crackstore.com
- crackmes.de
- www.who.is
- www.cracklab.ru
- community.reverse-engineering.…
- video.reverse-engineering.net
- SnD
- 클레이 키위
- reversengineering.wordpress.co…
- www.openrce.org
- www.woodmann.com
- PEID.Plusins.BobSoft
- roxik.com/pictaps/
- regexlib.com
- spyware-browser.com
- www.usboffice.kr
- regulator
- www.txt2re.com
- ietab.mozdev.org
- zesrever.xstone.org
- www.heaventools.com/PE-file-he…
- www.heaventools.com
- www.innomp3.com
- 울지않는벌새
- exetools.com-forum
- exetools.com
- utf8 conv
- robtex - IP trace
- onsamehost - same IP sites
- JpopSuki
- jsunpack.jeek.org
- wepawet.iseclab.org
- www.jswiff.com
- www.hackeroo.com
- winesearcher.co.kr
- khpga.org
- malwareurl.com
- anubis.iseclab.org
- www.crummy.com-eautifulSoup
- malwarebytes.org/forums
- bbs.janmeng.com
- blackip.ustc.edu.cn
- eureka.cyber-ta.org
- exploit-db.com
- ubuntu
- 다올저축은행
- PIR
- 주식
- 군함도
- ROA
- hai
- ElasticSearch
- 전세매매지수
- CriticalSection
- 신한저축은행
- 피봇
- 레고랜드
- 자동트래이딩
- Pivot
- 매매가격지수
- SBI저축은행
- 미국주식
- 사회간접자본
- 실시간트래이딩
- 공공인프라
- 주식트래이딩
- ChatGPT
- O365
- logrotate
- 시스템트래이딩
- 맥쿼리인프라
- 주택구매력지수
- systemd
- INVOICE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |