I started off with masm32, got a little too used to the invoke syntax, and then ended up moving to nasm after I found the license for masm32 to be incompatible with my plans. I then learned the Win32 way of calling functions, such as (this is an example of some of the libsdl bindings I worked with)
Code: Select all
push dword SDL_INIT_EVERYTHING
call SDL_Init
push dword 0
push dword 32 ; bits per pixel
push dword 480 ; resolution, x
push dword 640 ; resolution, y
call SDL_SetVideoMode
; etc etc
Also, one question about something that's been bugging me for quite a while. I've noticed that .lib files that are normally used in Microsoft programming projects are a lot better at producing small code that's easily debuggable, but the static linking that comes with using libc makes it confusing to find the entry point of an assembled binary. Is there any way to dynamically link to libc?