hmm...
lib files abolished...
GoLink looks in existing (system dll?) files for linking info...
what effect would it have, then, to assemble and link AMD64 code on win98?
i see in the sdk include files that there are now MANY conditionals regarding winxp vs 2000 etc.
do you think this GoLink feature could cause problems with different dll versions?
btw, spent hours trying to get ml64 to assemble some do-nothing code. took mere minutes to write and assemble using GoAsm!!!
thanks, jorgon!
eilenbeb
In the final exe, the linker lists the APIs and groups them according to which dll contains them. In particular, no addresses for the APIs are kept in the exe. This is normal for linkers, not just GoLink. At load-time the addresses are inserted into the loaded image of the exe, by the system.
This means that, at link-time, the only information required by the linker is which dll holds which APIs.
The different versions of Windows do not move APIs from one dll to another. They stay in the same dll. This ensures that executables which have already been made can still run on later versions (all other things being equal).
However, in later versions new APIs are added which may not be in the dlls in earlier versions.
So, there is no problem making an executable with GoLink on a machine containing an earlier version of Windows,
as long as you only call APIs in that version. If you call an API which is not in that version, the linker will tell you it can't find the API.
If this happens there are four ways round this:-
- Specify the dll using for example, INVOKE SystemDll:NewAPI
- Put the newer version of the dll in a unique folder and specify this as the path to the dll in GoLink's command file
- Put the newer version of the dll in the same folder as GoLink: it will find this first (see "search order" in the GoLink help file)
- Make the executable on a machine loaded with the later version of the system dlls
Thanks for your report on GoAsm for 64. It seems to be working well.
tx for the reply. all sounds good to me.
think i'm gonna dump the ms tools for a while.
more go-64 posts coming soon... heh
laters