제가 짠 프로그램이 이상한 짓을 해서요....
뭔가 좀 이상해요...
SBuffer 라는 Array 변수를 전역변수로 선언해놓고 실행 시키면 프로그램이 메모리 문제를 일으키면서 죽고요, 지역변수로 선언해서 사용하면
죽지 않고 잘 되네요....
프로그램상에서 메모리를 침범할 일이 없는것
같은데 전역으로 선언하면 메모리접근 에러가
뜨면서 죽어요.... TT
다른 루틴에서 참조를 해야하기 때문에
전역으로 선언해서 사용해야하는데.....
전역변수로 선언할 때와 지역변수로 선언할 때
무슨차이가 있는 거죠? 넘 답답....
SBuffer : array[0..15] of char ; // 전역변수선언
procedure TForm1.Button1Click(Sender: TObject);
var
chk, devIdx, sadd, eadd, stat : integer ;
//SBuffer : array[0..15] of char ; // 지역변수선언
Ptr : PChar ;
begin
devIdx := 0 ;
StrCopy(SBuffer,'Hello') ;
sadd :=0 ;
eadd :=4 ;
Ptr := SBuffer ;
stat := Buffer_write(Ptr,devIdx,sadd,eadd) ;
end;
Buffer_write 해당함수에서 수행하는게 어