Delphi 2009 응용 프로그램에서 C DLL을 호출하고 GetMem 또는 AllocMem에 의해 할당 된 메모리가 DLL에 전달 될 때 오류가 계속 발생합니다. 이 오류를 피할 수있는 유일한 방법은 msvcrt.dll의 malloc을 사용하는 것입니다. malloc은 내장 메모리 루틴이 아니라, 내장 된 것들을 어떻게 작동시킬 수 있습니까? 나는 내장 메모리 관리자를 우회하는 것을 정말로 좋아하지 않는다.GetMem 대신 malloc을 호출하면 프로그램이 중단되는 이유는 무엇입니까?
3
A
답변
4
DLL이 해당 메모리를 해제하거나 메모리 할당을 조작하려고 시도하면 (예 : 확장/축소) 해당 설명이됩니다. 메모리 할당 시스템을 혼합하는 것은 권장되지 않습니다.
0
전화 협약, stdcall 또는 cdecl 에주의하십시오.
관련 문제
- 1. 스레드에서 무료를 호출하면 프로그램이 중단되는 이유는 무엇입니까?
- 2. 이 프로그램이 중단되는 이유는 무엇입니까?
- 3. 음수 값이 주어지면 프로그램이 중단되는 이유는 무엇입니까?
- 4. bsearch() 호출에서 제시 프로그램이 중단되는 이유는 무엇입니까?
- 5. ObservableCollection을 구현하면 Silverlight 응용 프로그램이 중단되는 이유는 무엇입니까?
- 6. numlock을 누르면 OCaml OpenGL 프로그램이 중단되는 이유는 무엇입니까?
- 7. 양식의 enabled 속성을 설정하면 응용 프로그램이 중단되는 이유는 무엇입니까?
- 8. 자체 OnClick 핸들러에서 버튼을 제거하면 프로그램이 중단되는 이유는 무엇입니까?
- 9. Windows 서비스가 중단되는 이유는 무엇입니까?
- 10. C++에서 malloc을 사용하지 않는 이유는 무엇입니까?
- 11. 두 번째 요청에서 서버가 중단되는 이유는 무엇입니까?
- 12. Vista에서 DebugBreak()에서 서비스가 중단되는 이유는 무엇입니까?
- 13. InitialContext에서 close()를 호출하면 향후 모든 조회 (Glassfish)에 대해 JNDI가 중단되는 이유는 무엇입니까?
- 14. 클립 보드에 텍스트를 복사 할 때 내 pygtk 응용 프로그램이 중단되는 이유는 무엇입니까?
- 15. GetMem x ReallocMem
- 16. getmem memory leak, delphi
- 17. 오리엔테이션 센서 (HTC Desire)에 액세스 할 때 Android 프로그램이 중단되는 이유는 무엇입니까?
- 18. 자기 자신이있는 속성에 액세스 할 때 내 프로그램이 중단되는 이유는 무엇입니까? 및 합성 접근?
- 19. 수천 개의 실패한 SQL Server 로그인 시도로 인해 응용 프로그램이 중단되는 이유는 무엇입니까?
- 20. MySql의 "Writing to net"상태에서 쿼리가 중단되는 이유는 무엇입니까?
- 21. presentModalViewController를 시도 할 때 내 iOS 앱이 중단되는 이유는 무엇입니까?
- 22. XML 파일의 파일 확장명을 변경하면 XSL 변환이 중단되는 이유는 무엇입니까?
- 23. malloc을 사용할 때마다 경고 메시지가 나타나는 이유는 무엇입니까?
- 24. 계산을 수행 한 후 Clojure가 중단되는 이유는 무엇입니까?
- 25. 내 WebClient 업로드 파일 코드가 중단되는 이유는 무엇입니까?
- 26. Hibernate Interceptor를 사용하는 감사 로깅이 SocketInputStream.socketRead0에서 중단되는 이유는 무엇입니까?
- 27. "보류 중"을 추가하면 스칼라 테스트가 중단되는 이유는 무엇입니까?
- 28. ASP.NET/WCF : 논리/물리 스레드가 전체 GC주기에서 중단되는 이유는 무엇입니까?
- 29. 잠시 동안 실행 한 후 AJAX 요청이 중단되는 이유는 무엇입니까?
- 30. SwingUtilities.invokeLater를 사용한 후에도 GUI가 계속 중단되는 이유는 무엇입니까?
어떤 종류의 오류가 발생합니까? C dll이 전달한 메모리를 해제하거나 다시 할당하려고 시도하지 않는 한 아무런 문제가 없어야합니다. 실제로 수행하면 안됩니다. –
불행히도 "안된다"와 "그렇지 않다"는 서로 다른 것들이며 너무나 자주 그렇게 있습니다. – qid
해답을 가져 주셔서 감사합니다. dll에는 메모리를 제어하는 옵션이 있으며 사용하고 있습니다. 메모리를 제어하기 위해 함수를 다시 작성하겠습니다. –