동적으로 MASM here에서 메모리를 할당하는 방법을 물었지만 질문이 2 개 더 있습니다.멀티 스레딩 응용 프로그램에서 MASM dll 메모리 할당
어떻게 메모리를 바이트에 할당 할 수 있습니까?
.data
tab DB ?
result DB ?
.code
invoke GetProcessHeap
; error here
mov tab, eax ; I cannot do this because of wrong sizes, AL and AH are equal 0
INVOKE HeapAlloc, tab, 0, <size>
invoke GetProcessHeap
mov result, eax ; same here
INVOKE HeapAlloc, result, 0, <size>
두 번째 질문은 다중 스레드 응용 프로그램에서이 메모리를 할당하는 방법을 사용할 수 있습니까? 아니면 GlobalAlloc을 사용해야합니까? 메모리가
size
할당하는 방법에 대한 플래그 - - 힙 오브젝트의 핸들
flags
- 당신이 필요로하는 메모리 블록의 크기
hHeap
:
어떻게 당신과 연락 할 수 있습니다 :이 모든 어셈블리에 어떻게 보일지
? 난 그냥 메모리 위반 예외가 발생하기 때문에이 답변에 대해 뭔가 묻고 싶다. HeapAlloc, result, 0, –
Asker
당신이 나와 접촉 할 수있는 코멘트를 작성한다. 또한, 내 프로필을 참조하십시오. 물론 내 대답에는 실수가있다. 그래서 예외가 생기는 이유입니다. :) 나는 그것을 지금 고칠 것이다. – johnfound
@Asker Ah, 읽고 읽은 것을 분석하는 것이 유용합니다. 필자의 실수는 소스 코드와 소스 코드 이전에 작성한 내용에서 쉽게 발견 할 수있었습니다. – johnfound