[comp.windows.ms.programmer] ILink, garbage collection

chryses@xurilka.UUCP (Phong Co) (06/19/91)

Hi there, two questions for you gurus:

1) I have heard that it is possible to use the ILink, the Microsoft
incremental compiler to compile Windows program.  However, neither
the 5.1 or the 6.0 manuals seem to have any info on this.  Anyone
tried it, and is it worth the effort?  I had always thought that
incremental linking was only available with QuickC.

2) Is there a way (ie. function, winapp, etc.) to find out whether
a winapp is not cleaning up properly after itself (ie., disposing of
bitmaps, freeing handles, etc.)?  I develop in enhanced mode with a DOS
session (editor) in the background.  I can switch back and forth OK,
but sometimes Windows will say that there is not enough memory to
switch to my editor, and to close some applications and try again.
Even when I close everything except my shell I get the same message.
Usually this happens if I've been messing my winapp for a while, and
may not have tidied everything up properly.  Probably one of the SDK
apps might do the trick.  Any one got opinions?


-- 

=========================================================================
Phong T. Co		|
chryses@xurilka.UUCP	|	Nice girls don't explode.
dada Indugu Inc.	|			-- Dave Sim (Cerebus #110)
Montreal, CANADA	|

bonneau@hyper.hyper.com (Paul Bonneau) (06/20/91)

In article <285e6c77@xurilka.UUCP> chryses@xurilka.UUCP (Phong Co) writes:
>
>Hi there, two questions for you gurus:
>
>1) I have heard that it is possible to use the ILink, the Microsoft
>incremental compiler to compile Windows program.  However, neither
>the 5.1 or the 6.0 manuals seem to have any info on this.  Anyone
>tried it, and is it worth the effort?  I had always thought that
>incremental linking was only available with QuickC.
>
We have been using ilink with win c6.0 for some time now.
If you're app is large it can save quite a bit of time, but
there are some problems.  Namely, every once in say 3 to 6
links I get the mysterious message "Old .exe free information
lost".  The resulting .exe is all screwed up, symbols are
wrong, and function prologues are missing.  If anyone knows
why I would love to as well.

Anyway, our makefile looks something like:
your.exe:	$(OBJ) your.def makefile your.lnk
	ilink /V /E "link @your.lnk" your.exe

first.exe:	$(OBJ) your.def makefile your.lnk
	link @your.lnk

Where your.lnk is the link response file.  You have to make
first.exe first, thereafter you can make your.exe.  You can
find the documentation for this stuff in the "Codeview and
Utilities" section in the C manuals.

>2) Is there a way (ie. function, winapp, etc.) to find out whether
>a winapp is not cleaning up properly after itself (ie., disposing of
>bitmaps, freeing handles, etc.)?  I develop in enhanced mode with a DOS
>session (editor) in the background.  I can switch back and forth OK,
>but sometimes Windows will say that there is not enough memory to
>switch to my editor, and to close some applications and try again.
>Even when I close everything except my shell I get the same message.
>Usually this happens if I've been messing my winapp for a while, and
>may not have tidied everything up properly.  Probably one of the SDK
>apps might do the trick.  Any one got opinions?
>
Heapwalk is great for just this type of thing.  Write the
heap to a file before and after running the app and compare
the listings.

cheers - Paul Bonneau.