<div>ㅠㅠ.. 프로그래머 1년차지만 C는 학생때 좀 해본것뿐이라.. 어렵네요..</div> <div>일주일정도 헤매고 있습니다. ㅜㅠ</div> <div><span style="font-size:9pt;line-height:1.5;">잘 아시는분 계시면 알려주시면 감사하겠습니다.</span></div> <div><br></div> <div>본론으로 들어가자면..</div> <div>코딩의 목적은 <span style="font-size:9pt;line-height:1.5;">DLL에 후킹함수를 만들어놓고 윈도우 이벤트에 반응해서 움직이게 만들고 있습니다.</span></div> <div> <div><br></div> <div>아래와 같이 선언했습니다.</div> <div> <div>#pragma data_seg(".test")</div> <div><br></div> <div>static struct TEST_STRUCT *test_struct; </div> <div>static char *temp_test = NULL;</div> <div><br></div> <div>static char temp_char[1000] = "start";</div> <div>static int temp_int = 0;</div> <div><br></div> <div>#pragma data_seg()</div> <div>#pragma comment(linker,"/SECTION:.test,RWS")</div></div> <div><br></div> <div>위의 두개의 변수(<span style="font-size:9pt;line-height:1.5;">test_struct, </span><span style="font-size:9pt;line-height:1.5;">temp_test</span><span style="font-size:9pt;line-height:1.5;">)는 malloc을 써서 heap영역에 할당되고, </span></div></div> <div><span style="font-size:9pt;line-height:1.5;">아래의 두개의 변수(</span><span style="font-size:9pt;line-height:1.5;">temp_char, </span><span style="font-size:9pt;line-height:1.5;">temp_int</span><span style="font-size:9pt;line-height:1.5;">)</span><span style="font-size:9pt;line-height:1.5;">는 static영역에 할당되는것으로 알고있습니다. </span></div> <div><br></div> <div>지금까지 알아낸바로는 static영역의 값은 각 쓰레드에서 참조가능해서 변수값의 공유가 가능했습니다.</div> <div>그런데 <span style="font-size:9pt;line-height:1.5;">malloc을 써서 </span><span style="font-size:9pt;line-height:1.5;">heap영역에 할당된 값들은 각 쓰레드들에서 참조가 안되서 변수값의 공유가 불가능했습니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;">그래서 강제로 해당 변수(</span><span style="font-size:9pt;line-height:1.5;">t</span><span style="font-size:9pt;line-height:1.5;">est_struct, </span><span style="font-size:9pt;line-height:1.5;">temp_test</span><span style="font-size:9pt;line-height:1.5;">)들의 주소값을 이용해서 접근해보려고 해도 접근에러가 발생했습니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">static영역은 여러 쓰레드로부터 접근이 가능하니 </span>해결방안으로 </div> <div>1. static영역에 고정으로 <span style="font-size:9pt;line-height:1.5;">test_struct[100]으로 선언해서 공유 가능하게 하는방법.</span></div> <div><span style="font-size:9pt;line-height:1.5;">2. static영역에 메모리를 동적으로 할당 받아오는 방법.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">두가지를 생각해봤으나 역시 동적할당으로 메모리를 할당하는것이 정석이니 2번 방법으로 해결 해보고 싶습니다. </span></div> <div><br></div> <div>조언 부탁드립니다. ㅠㅠ</div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div>
퍼즐앤드래곤 너무 재미땅.. 
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.