golink with NASM

  • Follow


I was pointed to a website for nasm development on windows, and the
download contained a linker called golink.  I also found the website
for the linker golink, which provided some more documentation.  Is
this linker still being actively maintained?  I ask because I can
foresee using it as a replacement for alink.

Any tips on using this linker with NASM?  I like how I do not have to
create .lib files.  But I'm not clear on how to use a file to list all
the dll's, rather then listing them out on the command line.  And I'm
not really clear on how to setup the .asm file.  The example NASM
files used the %include directive to point to a file with a bunch of
imports of functions, and the .bat file linked with the dll's on the
command line.

Anyway, I appreciate any tips.

Thanks,

Brian

0
Reply bwaichu 7/20/2008 7:23:25 PM

GoLink is a clever choice.
To manage with DLL, three cases :

1) You choose to declare them in your source,
 so use #DYNAMICLINKFILE first.dll, second.dll

2) You choose to declare them in golink command line, place their names in
command line : test.obj first.dll, second.dll

3) You are too lazy to write all the required names in the command line
and use a @list_of_dll.txt

The file text contains the DLL names.
Example below for a huge API collection on Windows -32 :
(Of course you can prefer a 64-bit Windows.
GoLink is also 64-bit compliant.

;;;;;;;;;;;;;; Win32
 ;;;;;;;;;;;;; Libraries
 KERNEL32.DLL
 USER32.DLL
 GDI32.DLL
 ADVAPI32.DLL
 COMDLG32.DLL
 COMCTL32.DLL
 SHELL32.DLL
 SHLWAPI.DLL
 SHDOCVW.DLL
 ;;;;;;;;;;;;; NT
 NTDLL.DLL
 NTDSAPI.DLL
 SAMSRV.DLL
 ESENT.DLL
 CRYPTDLL.DLL
 CERTCLI.DLL
 LSASRV.DLL
 MSWSOCK.DLL
 NTLANMAN.DLL
 NTLANUI.DLL
 NTLANUI2.DLL
 NTLSAPI.DLL
 NTMARTA.DLL
 NTMSAPI.DLL
 NTMSDBA.DLL
 NTMSEVT.DLL
 NTMSMGR.DLL
 NTMSSVC.DLL
 NTPRINT.DLL
 NTSDEXTS.DLL
 NTSHRUI.DLL
 ;;;;;;;;;;;;; Network
 RPCRT4.DLL
 NETAPI32.DLL
 DNSAPI.DLL
 SECUR32.DLL
 NETRAP.DLL
 SAMLIB.DLL
 WLDAP32.DLL
 WSOCK32.DLL
 WS2_32.DLL
 WS2help.DLL
 ;;;;;;;;;;;;; COM
 OLE32.DLL
 OLEAUT32.DLL
 OLECNV32.DLL
 OLEPRO32.DLL
 OLECLI32.DLL
 OLESVR32.DLL
 OLETHK32.DLL
 OLEACC.DLL
 OLEACCRC.DLL
 OLEDLG.DLL
 OLEPRN.DLL
 ;;;;;;;;;;;;; ODBC
 ODBC32.DLL
 ODBC32GT.DLL
 MSJET40.DLL
 JET500.DLL
 SQLSRV32.DLL
 SQLWOA.DLL
 ;;;;;;;;;;;;; APIs
 MAPI32.DLL
 MCD32.DLL
 OPENGL32.DLL
 GLU32.DLL
 DCIMAN32.DLL
 CTL3D32.DLL
 MSVIDC32.DLL
 MSACM32.DLL
  ;;;;;;;;;;;; Direct Draw
  DDRAW.DLL
  D3DIM.DLL
  D3DIM700.DLL
  D3DPMESH.DLL
  D3DRAMP.DLL
  D3DRM.DLL
  D3DXOF.DLL
  DANIM.DLL
 ;;;;;;;;;;;;; Utilities
 PSAPI.DLL
 ADVPACK.DLL
 VERSION.DLL
 MSXML.DLL
 ;;;;;;;;;;;;; Microsoft Java
 JSCRIPT.DLL
 JSPROXY.DLL
 ;;;;;;;;;;;;; Microsoft Visual Studio
 MSVCRT.DLL
 MSVCIRT.DLL
 MSVCRT40.DLL
 MFC42.DLL
 ATL.DLL
 ;;;;;;;;;;;;; Cryptography
 CRYPT32.DLL
 MSASN1.DLL
 ;;;;;;;;;;;;; Others...
 WINMM.DLL
 TAPI32.DLL
 LZ32.DLL
 RICHED20.DLL
 WINSPOOL.DRV
 HHCTRL.OCX

Happy to read you !

Patrick


--
Message posted using http://www.talkaboutprogramming.com/group/comp.lang.asm.x86/
More information at http://www.talkaboutprogramming.com/faq.html

0
Reply Nucleo 7/22/2008 6:23:34 PM


Nucleo wrote:
> GoLink is a clever choice.

Might as well mention where to find it:

http://www.jorgon.freeserve.co.uk/

> To manage with DLL, three cases :
> 
> 1) You choose to declare them in your source,
>  so use #DYNAMICLINKFILE first.dll, second.dll
> 
> 2) You choose to declare them in golink command line, place their names in
> command line : test.obj first.dll, second.dll
> 
> 3) You are too lazy to write all the required names in the command line
> and use a @list_of_dll.txt
> 
> The file text contains the DLL names.
> Example below for a huge API collection on Windows -32 :
> (Of course you can prefer a 64-bit Windows.
> GoLink is also 64-bit compliant.
> 
> ;;;;;;;;;;;;;; Win32
>  ;;;;;;;;;;;;; Libraries
>  KERNEL32.DLL
[snip - Wow!]
>  HHCTRL.OCX
> 
> Happy to read you !

Likewise! Thanks for the info, Patrick!

[note: there's an assembler, too... I don't want to see any Nasm users 
being seduced away... :)]

Best,
Frank

0
Reply Frank 7/23/2008 7:23:56 AM

2 Replies
150 Views

(page loaded in 0.039 seconds)

Similiar Articles:






7/28/2012 10:55:13 AM


Reply: