|
|
golink with NASM
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)
|
|
|
|
|
|
|
|
|