From 585947bd1f104432d5a92fd1fb6a2c63a835b53a Mon Sep 17 00:00:00 2001 From: eiffel-org Date: Thu, 16 Jun 2016 05:45:20 +0000 Subject: [PATCH] Update wikipage Interfacing with DLLs. (Signed-off-by:alexk). git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1589 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../eiffel-external-mechanism/interfacing-dlls.wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/trunk/solutions/other-languages/eiffel-external-mechanism/interfacing-dlls.wiki b/documentation/trunk/solutions/other-languages/eiffel-external-mechanism/interfacing-dlls.wiki index 9e7525fb..98b9cd93 100644 --- a/documentation/trunk/solutions/other-languages/eiffel-external-mechanism/interfacing-dlls.wiki +++ b/documentation/trunk/solutions/other-languages/eiffel-external-mechanism/interfacing-dlls.wiki @@ -6,7 +6,7 @@ Using EiffelStudio, there are two different ways to call C routines exported in * _cdecl: referred to as the standard calling convention * __stdcall referred to as the Pascal calling convention -Calling conventions define 1) how arguments are placed on the stack, and 2) which entity (the caller, or the callee) is responsible for returning the call stack to its previous state when the routine has completed. These two methods are NOT compatible. Therefore if you have a routine in a DLL you wish to call, one of the first things to find out about it is which calling convention it expects. DLL routines that use the `_cdecl' calling convention require the use of the '''dll32''' sub-language option. For `__stdcall', use the '''dllwin32''' sub-language option. Here is an example: +Calling conventions define 1) how arguments are placed on the stack, and 2) which entity (the caller, or the callee) is responsible for returning the call stack to its previous state when the routine has completed. These two methods are NOT compatible. Therefore if you have a routine in a DLL you wish to call, one of the first things to find out about it is which calling convention it expects. DLL routines that use the `_cdecl' calling convention require the use of the '''dll32''' sub-language option. For `__stdcall`, use the '''dllwin32''' sub-language option. Here is an example: my_cdecl_routine (a: INTEGER): POINTER