Posts: 773
Threads: 71
Joined: Mar 2002
...is it relevant how big the library you used is(I mean in the sense of memory consumption) or does the memory consumption in the compiling process only depends on library's subs/functions you declared in the main module or in a bi file?
And I'm talking about compiling outside QB IDE.
Also, does the size of library influence on QB IDE functioning? I mean, is huge library making it difficult to code in QB IDE not depending on the library subs you desided to declare?
Posts: 3,343
Threads: 83
Joined: Mar 2003
When you make a lib up, always remove from it the subs/functions you're not going to use. RelLib 5.0 is way to big for the IDE, but if you remove everything but what you want (drawing primatives, sprite handling, XMS), it's more easy to handle.
Posts: 691
Threads: 5
Joined: Apr 2002
A library is a collection of functions, when you link your program with a library each of the functions will be included in the text segment of the resulting executable which increases its size. I dont know if QB's linker will link in all of the functions in a library or just all of the ones that are called
esus saves.... Passes to Moses, shoots, he scores!
Posts: 1,956
Threads: 65
Joined: Jun 2003
After running BC.exe you then run LINK which will only include those functions or subs which you declared or used in your program. Therefore, the actual size of the library does not matter to LINK. BC does not know which library you're using, only LINK does.
*****
Posts: 3,288
Threads: 167
Joined: Nov 2001
Inside the IDE, yes its makes a big difference but outside-IDE compiling, it does not matter.
BTW, Plasma357 made a better solution to outside compiling when he made qb4med. ;*)
Combines libs, nide IDE, lost my copy. ;*(
Posts: 1,845
Threads: 44
Joined: Aug 2002
I still have it
I first have to find out how to upload files > 1 meg...
Posts: 2,020
Threads: 24
Joined: Jun 2002
From what I understand, I always thought that it doesnt only include subs/functions, but it does exclude obj files it doesnt need, hence why a "hello world" qb program can be huge while the same program in C is 4k. But I'm wrong all the time so dont take that as law.
i]"I know what you're thinking. Did he fire six shots or only five? Well, to tell you the truth, in all this excitement, I've kinda lost track myself. But being as this is a .44 Magnum ... you've got to ask yourself one question: 'Do I feel lucky?' Well, do ya punk?"[/i] - Dirty Harry
Posts: 1,407
Threads: 117
Joined: Dec 2002
Librairies are made of modules. When a sub/function in a module is needed, the whole module is linked. The unused modules are left apart.
Antoni
Posts: 2,020
Threads: 24
Joined: Jun 2002
Thanks for the confirmation
i]"I know what you're thinking. Did he fire six shots or only five? Well, to tell you the truth, in all this excitement, I've kinda lost track myself. But being as this is a .44 Magnum ... you've got to ask yourself one question: 'Do I feel lucky?' Well, do ya punk?"[/i] - Dirty Harry
Posts: 3,288
Threads: 167
Joined: Nov 2001
Quote:From what I understand, I always thought that it doesnt only include subs/functions, but it does exclude obj files it doesnt need, hence why a "hello world" qb program can be huge while the same program in C is 4k. But I'm wrong all the time so dont take that as law.
Only if your lib's procedures are buched in modules.
Rellib for the most part of it has:
1 OBJ=1 procedure.
Did you ever noticed that Rellib had the smallest exe in blitz's bechmark tests a while ago? ;*)