Forgive me if this has been asked before, which assemblers support static libraries (.lib) aside from MASM and TASM?
Any assembler that can be used with a linker - goasm, nasm, yasm, fasm, ... - basically everything but rosasm :)
Actually GoAsm supports static libraries differently from other tools.
Here is a passage from the GoAsm help file:-
In GoAsm, you can use the ready-made code and data in static code libraries by just calling the required function in your source script, giving the name of the library containing the function, for example
CALL zlibstat.lib:compress
You can also use equates to shorten the call for example:-
LIB1=c:\prog\libs\zlibstat.lib
CALL LIB1:compress
Examples using INVOKE are:-
INVOKE zlibstat.lib:compress,,ADDR ComprSize,,
INVOKE LIB1:compress,,ADDR ComprSize,,
If your path contains spaces you must put the path and filename in quotes.
GoAsm takes the appropriate code from the lib file at assemble time and inserts the code into the object file ready for linking.
Using this arrangement, the linker does not do any extra work.
It just seemed to me to be more logical (and easier to use) to merge the code from the static library whilst assembling, rather than while linking.
Here is a passage from the GoAsm help file:-
In GoAsm, you can use the ready-made code and data in static code libraries by just calling the required function in your source script, giving the name of the library containing the function, for example
CALL zlibstat.lib:compress
You can also use equates to shorten the call for example:-
LIB1=c:\prog\libs\zlibstat.lib
CALL LIB1:compress
Examples using INVOKE are:-
INVOKE zlibstat.lib:compress,,ADDR ComprSize,,
INVOKE LIB1:compress,,ADDR ComprSize,,
If your path contains spaces you must put the path and filename in quotes.
GoAsm takes the appropriate code from the lib file at assemble time and inserts the code into the object file ready for linking.
Using this arrangement, the linker does not do any extra work.
It just seemed to me to be more logical (and easier to use) to merge the code from the static library whilst assembling, rather than while linking.
Any assembler that can be used with a linker - goasm, nasm, yasm, fasm
Plus, Lazy Assembler - LzAsm