The latest version of GoAsm available from here (http://www.jorgon.freeserve.co.uk/Goasm.zip):-
- sorts out recently reported bugs
- adds automatic structure alignment in Win32 (this was already happening when using local data)
- adds support for #dynamiclinkfile which allows you to specify in the asm source a dll/ocx/exe/drv file which exports functions used in your program, instead of in the linker's command line or command file (you need GoLink 0.26.5 (http://www.jorgon.freeserve.co.uk/Golink.zip) for this to work)
; Hi, Jeremy
; this new smart keyword have its bug...
;#DYNAMICLINKFILE "USER32.DLL" is OK
#DYNAMICLINKFILE USER32.DLL
CODE
Start: INVOKE MessageBoxA,0,"bug...","What is happen ?",0
RET
/*
GoLink.Exe Version 0.26.5 - Copyright Jeremy Gordon 2002/6-JG@JGnet.co.uk
Error!
Could not open an input file (`USER32.DLL)
Output file not made
*/
; P.S. : If you want to see my personal bug collection on GoDevTool, say it to me... :P
Hi 1rDirEctoALgran0
I tried to replicate this but couldn't.
Would you mind checking your source to see if you have a nasty single opening quote lurking just before USER32.DLL? In some editors a single opening quote appears very faintly.
If this is not the case, would you mind either posting or sending to me your source so that I can check out this bug directly? Thanks.
Hi Jeremy,
try the source "Inutile.ASM" simply like that :
goasm inutile.asm
golink inutile.obj
GoLink.Exe Version 0.26.5 - Copyright Jeremy Gordon 2002/6-JG@JGnet.co.uk
Error!
Could not open an input file (`USER32.DLL)
Output file not made
What is wrong ?
Patrick
Hint : The ` character (0x60) is not in my source but it is present in the obj file.
[attachment deleted by admin]
QuoteWhat is wrong ?
Here is an exact report.
Because of the #dynamiclinkfile declaration, the string USER32.DLL was properly in the .drectve section material in the object file. But since your file had no data section and no exports, the byte immediately before the string was value 60h which was what appeared as the `character in GoLink's error message. In fact this byte was the top byte in the CHARACTERISTICS dword for the CODE section (characteristics EXECUTE and READ). When GoLink was parsing the USER32.DLL filename it was unfortunately going back beyond the beginning of the .drectve material, and stopping on the 60h byte by mistake. The problem did not appear if the sections were in a different order!
Thanks very much for reporting this bug and for posting your file. The fix is here (http://www.jorgon.freeserve.co.uk/Golink.zip) (GoLink Version 26.6).