에디터 메모리 읽기 질문있습니다
페이지 정보
본문
~~은(는) Int32에 사용할 수 없는 값입니다.
라고 메모리주소에 메모리주소값을 입력해주면 저런 오류가 뜹니다
해결방안이있나요.?
버퍼사이즈에는 어떤것을 입력해야하나요?
메모리주소를 입력했는데 데이터를 못읽는경우에는 엔지엠프로그램으로 안읽히는건가요?(우회가필요한가요?)
- 이전글메모리읽기 질문있습니다 20.06.26
- 다음글이미지 변화 질문 20.06.26
댓글목록
엔지엠소프트웨어님의 댓글
엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date
우선 메모리 주소는 0x000001과 같은 형식입니다. 그리고 버퍼 사이즈는 읽어올 데이타를 담아서 옮기는 공간의 크기를 말합니다.
간단하게 이해하려면 메모리에 있는 값을 처리하는 곳으로 이동시켜야 하는데요. 이 때 버퍼 사이즈만큼 잘라서 이동시켜줍니다.
동영상을 볼 때 버퍼링이라는걸 들어본적이 있으실겁니다. 주고 받는 인터페이스 환경에서 미리 담아놓을 공간이 필요하게 되는데요.
10메가의 데이타가 있는데 이걸 처리하기 위해서 이동할 때 1메가의 버퍼 공간을 가진다고 하면 10번 담아서 이동하면 됩니다.
하지만, 이는 프로그램 또는 시스템 환경에 따라 달라지는 부분이라서 정확하게 얼마다라고 값을 알수는 없습니다.
HELLO라는 문자열이 있다고 치면 영문자는 2바이트를 사용하므로 총 10바이트가 필요하게되고 버퍼 사이즈는 10이 됩니다.
버퍼 사이즈를 넉넉하게 20을주면 c의 자료 구조에서는 왼쪽에 HELLO를 채우고 나머지 10바이트는 0이 채워지게 됩니다.
그래서 실제로 넉넉하게 버퍼를 설정해서 값을 받아온다면 짤라서 사용해야 하구요. 부족하게되면 HEL까지만 받아오고 종료됩니다.
저도 메모리 기능을 만들고 테스트 해본지가 오래되서... c자료 구조 공부한 내용을 바탕으로 작성하다보니 일부 다를 수 있다는걸 아셔야 합니다^^;
예제는 아래 글을 참고해보세요.
http://ngmsoftware.com/bbs/board.php?bo_table=ngm5&wr_id=11