Hi.
Calling function malloc in C
in example
http://discuss.visual-prolog.com/viewto ... indtoc+zip
doesn't work in in VIP 7.5
Help and explain why
========================================
Dump: 2015-01-14 19:29:36
----------------------------------------
Exception: systemException (runtime_exception)
System exception
error code = 1
ExtraInfo = Exception C0000005: Access violation
raised 2015-01-14 19:29:34
ThreadId: 3956
Class name: runtime_exception
Predicate name: runtimeExceptionRaiser
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\VProlog_project.exe (0x005220D7)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipKernel.dll (0x14008516)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipKernel.dll (0x14006189)
C:\Windows\SysWOW64\ntdll.dll (0x77CB6AB9)
C:\Windows\SysWOW64\ntdll.dll (0x77CB6A8B)
C:\Windows\SysWOW64\ntdll.dll (0x77C80143)
clink_tutorial\mylib.pro(139)
taskwindow\taskwindow.pro(84)
c:\program files (x86)\visual prolog 7.5\pfc\gui\window.pro(863)
c:\program files (x86)\visual prolog 7.5\pfc\gui\window.pro(1976)
c:\program files (x86)\visual prolog 7.5\pfc\gui\documentwindow.pro(279)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipKernel.dll (0x14008735)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipVpi.dll (0x15310C28)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipVpi.dll (0x15315D57)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipVpi.dll (0x153139B1)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipVpi.dll (0x1531B9D5)
C:\Windows\syswow64\USER32.dll (0x776862FA)
C:\Windows\syswow64\USER32.dll (0x77686D3A)
C:\Windows\syswow64\USER32.dll (0x77686DE8)
C:\Windows\syswow64\USER32.dll (0x7768A740)
C:\Windows\SysWOW64\ntdll.dll (0x77C8011A)
C:\Windows\syswow64\USER32.dll (0x7768AA3C)
C:\Windows\syswow64\USER32.dll (0x77688A5C)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipVpi.dll (0x1531A3DB)
c:\program files (x86)\visual prolog 7.5\pfc\vpi\vpi.pro(21)
c:\program files (x86)\visual prolog 7.5\pfc\windowsapi\exe_api\exe_api.pro(63)
c:\program files (x86)\visual prolog 7.5\pfc\application\exe\mainexe.pro(21)
main.pro(23)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipKernel.dll (0x1400884B)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\vipKernel.dll (0x14008B0B)
G:\Visual Prolog Projects\call_VIP_in_C++\BindToC_inVip7-5\VP_project\VProlog_project\Exe\VProlog_project.exe (0x005222A7)
C:\Windows\SysWOW64\ntdll.dll (0x77CA9ED2)
C:\Windows\SysWOW64\ntdll.dll (0x77CA9EA5)
----------------------------------------
OS information:
Microsoft Windows 7 Windows 7 Ultimate Service Pack 1 64-bit (Build 7601)
Number Of Processors: 4 PageSize: 4096 Processor: 8664 level: 6 revision: 7685
ProcessorNameString: Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz
VendorIdentifier: GenuineIntel
Identifier: Intel64 Family 6 Model 30 Stepping 5
~MHz: 2664
- Thomas Linder Puls
- VIP Member
- Posts: 1401
- Joined: 28 Feb 2000 0:01
The article "Binding to C" is unfortunately rather outdated and have (now) been deleted.
When binding to foreign code (e.g. C/C++) the foreign code should be in a DLL. Otherwise you will have lots of linking problems. Further more the foreign code should not attempt to create Visual Prolog data, it should create ordinary foreign data, which your Visual Prolog program should "translate" to Visual Prolog format.
See the (remaining) Memory Handling tutorials.
When binding to foreign code (e.g. C/C++) the foreign code should be in a DLL. Otherwise you will have lots of linking problems. Further more the foreign code should not attempt to create Visual Prolog data, it should create ordinary foreign data, which your Visual Prolog program should "translate" to Visual Prolog format.
See the (remaining) Memory Handling tutorials.
Regards Thomas Linder Puls
PDC
PDC