I've looked at FASM examples, and noticed that all programs for Win32 except for HELLO define imported functions at the end (like in TASM). HELLO also builds much slower than others. Why?
Posted on 2003-04-18 12:44:01 by comrade
Because it uses win32ax.inc which includes all the imports, and the easy way to make Win32 files, and the others use win32a.inc which is faster, but it takes a longer time to add in all those imports. Its only 0.2 seconds slower on my CPU.
Posted on 2003-04-18 17:07:58 by CyberGuy
I guess you're not on Pentium II 266Mhz. :)
Posted on 2003-04-19 21:16:14 by comrade
Where is win32ax.inc to be found?

Even Google provided no results.
Posted on 2003-04-27 13:11:56 by msmith
INCLUDE directory. Perhaps you have older version.
Posted on 2003-04-27 15:58:00 by comrade
Is the slowdown of "adding all imports" because of the "everything is done through macros" nature of fasm?
Posted on 2003-04-27 16:01:44 by f0dder
Well, when all imports are declared assembler portion of FASM creates import table for all the exported functions of an included lib (all imports of user32 for example), but then formatter portion of FASM (last step) removes unused imports. Perhaps that's the case. That win32ax.inc includes all libraries by default, so that's quite a large number of imports. Right now I still use all imports, but only from libraries I need (very similar to MASM way, including library.inc with all prototypes).
Posted on 2003-04-27 20:27:39 by comrade
I was wrong about formatter portion, it is actually import macro that looks if that import is being used, and declares if it is.
Posted on 2003-04-30 07:20:29 by comrade