News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

link.exe VS polink.exe ?? confueses me

Started by marco_xx, February 25, 2007, 06:33:18 PM

Previous topic - Next topic

marco_xx

Hi,


whats the difference between polink and link?

PBrennick


polink creates smaller executables because of the way sections are handled. They both do an adequate job, however. Personally, I do not care for after market tools. My feeling is that even though polink creates a smaller executable, the savings is negligible. link.exe is a proven workhorse that has been around for years.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

Vortex

As Paul said, Polink creates smaller executables. The author Pelle Orinius maintains the tool regularly and it's free to use for developing commercial applications.

ic2

If you assemble a file no matter what size clicking Assemble & Link when using MASM and do the same thing with POASM it will assemble to the exact same size every time to the letter.  I never checked when using resource files with icons and such because i don't use them.  I check file size everyday as i build, so i know that this is a fact.  A-LINK is the only one i found that will produce an smaller executable.  Create a filesize checker program for your main file than you will see.

I attached a small file that i use and will save you little time.

[attachment deleted by admin]

PBrennick

You are mistaken. The topic makes no reference to masm or poasm. We are talking about the linkers, ONLY.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

lingo

ic2,
May be Pelle and  other authors maintain their tools
regularly, but I can't compare their efforts and knowledge
against those of the giant and monopolist as MS
MS dictate and change the rules and formats too,
hence I'm not sure that it is SAFE to produce smaller executable..
so, stop the emotions and let us be rational... :wink

Regards,
Lingo

Vortex

ic2,

Alink is a nice tool but does not handle static libraries. Link and Polink both are capable of processing static libraries.

u

PoLink is fine, it handles my bigger asm projects (usually consisting of dozens of .libs, altogether 150k+ lines) as well as Link.
Meanwhile, Link does have some hidden bugs, which are solved when I recompile and pack all the .libs.
Please use a smaller graphic in your signature.

Vortex

Hi Ultrano,

Could you describe those hidden bugs? Is there any way to fix them?

u

They happened rarely and randomly:
lib1-21 know of the existence of several public procs in lib22, but never use them.
I move these procs or modify their parameters, and modify the .inc files to match. Logic dictates that libs1-21 won't care, but it happens that my .exe is corrupted in a place or two. So, what happens is ghost-bugs that appear in my app - it crashes or stalls inexplainably. When I recompile all 22 libs twice (in two passes), and link everything - the unmodified code works. (by "unmodified" I mean, that I don't change anything in the code, that on the previous link crashed) .
At some time I found a way to reproduce it, and tested it against PoLink - polink handled it correctly.

But since the beginning I've been doing something I shouldn't: putting often-modified code in libs before using it ^^"
Please use a smaller graphic in your signature.

PBrennick

A transient bug can be very frustrating, I have found some in masm, also. I am glad you were able to get a successful compile.

Paul
The GeneSys Project is available from:
The Repository or My crappy website