Does Golink require decorations on symbol names?
===

Ok so I'm assembling code with NASM and linking with Golink. I have been using Windows API calls and C calls directly through the DLLs. For example, kernel32.dll for something like ExitProcess and msvcrt.dll for something like printf. However, when I try to use decorations like this, **_ExitProcess@4** or **_printf** golink complains about decorations and suggests using the **/mix** flag. When I use it Windows complains that the output file is not a valid win32 program. When I don't use decorations it works fine. Can anyone explain what's up?

Example:

    extern printf
    extern ExitProcess
    ;A bunch of code which isn't really important to this

Then my commands:

    nasm -fwin32 test.asm
    golink test.obj kernel32.dll msvcrt.dll /console /entry _start