Will BlitzMax be able to compile DLL's?
BlitzMax Forums/BlitzMax Programming/Will BlitzMax be able to compile DLL's?
| ||
Will the Win32 version of BMAX be able to compile a DLL? |
| ||
Not as far as anybody (even apparently BRL) know at the moment... LINK |
| ||
Yeah, but will it be able to? I part of the basic plan, but now I am not sure. |
| ||
[Edit:] Standard calling convention works now thanks to skn3[ac] Edited the code below to include parameters in the function [/Edit] I managed to create a dll with an exported function This is how i did it... First i created a module called sweenie.mydll(I only managed to do it with modules) In that module I created a function called AddNumbers. Function AddNumbers:Int(x:int,y:int) Return x+y End Function Then I compile this module and a file called mydll.bmx.o will be created under the .bmx folder where the module is located. The function inside mydll.bmx.o will now be called sweenie_mydll_AddNumbers To export this function i create a file called mydll.def containing this... EXPORTS AddNumbers = sweenie_mydll_AddNumbers I could have just typed "sweenie_mydll_AddNumbers" directly but by putting "AddNumbers =" before I rename the function to a more suitable length. Then from the mingw bin folder i call this command... gcc -shared -o c:\mydll.dll c:\bmax\mod\sweenie.mod\mydll.mod\.bmx\mydll.bmx.o c:\bmax\mod\brl.mod\blitz.mod\blitz.a c:\mydll.def That's it. |
| ||
try doing ..function test()"stdcall" end function might work, you could also try "win32" |
| ||
Adding "win32" after the function did the trick! Thanks!!! :) By the way, how did you know that? |
| ||
Mark mentioned it in a bug topic I created, todo with windowproc callback (win api) |
| ||
Does anyone know if the dlls can share classes? |
| ||
No, but will BlitzMax support it? I am not interested in some hacked-up "unofficial" solution that will break down when the system gets more complicated. |