Jump to content

Engine static lib


Josh
 Share

Recommended Posts

I'm with Jumooja on this one - Seems fairly pointless to me, and to that end I guess my only opinion on the matter is that I'd rather Josh spend his time on other more useful projects.

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

And .lib is not supposed to take the .dll away anyway, because .lib is just as fast to compile as .cpp, because it creates the .o file anyway and the linking is the part which takes most time normally since the c++ code hasn't changed.

 

All C++ libraries are delivered in their runtime version as .lib + .dll, so you just drag & drop the .lib file into VC++, and it then loads automatically the .dll file when the program is run.

 

If you want really fast compile times, then you put as much code as possible into the .dlls, because then the linker doesn't have to check them. And when running the problem, they load just as fast as a single exe, because there is no thinking involved like in the linker process.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

All C++ libraries are delivered in their runtime version as .lib + .dll, so you just drag & drop the .lib file into VC++, and it then loads automatically the .dll file when the program is run.

Static linking with a .lib file requires no dll at all, nor does it when the .exe is executed. The lib contains the object code. Both are normally delivered to give you the choice between static and dynamic linking.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Yes, if you don't use a .dll with a .lib, then it's the same as using a huge .cpp file, and it takes ages to run through the linker, even if the compiling has been done some days earlier. This is what happens with LEO also, because its so huge, so a LEO.DLL would help also here. Precompiled headers won't help either, because there is no compiling involved, it's only linking slowness.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Static builds are useless, they only need additional resources from the OS to handle the huge exe file size. Besides, then you can't update your game with the real changes, but always need to download a 4GB (or slightly smaller) exe.

 

My current project exe is only 102K and that's after it has 2 static linked libs built into it (One at 400K and one at 4.0 MB), while the Leadwerks Engine dll is 1.7 MB. Even if it was a static lib, the exe size would still not be huge (Not like the Splinter Cell Chaos Theory (offline) exe, which stands at 24.5 MB. What have they bloated that with?)

 

 

and it takes ages to run through the linker

 

I'm not too bothered about the compilation speed. For me, execution speed for the end user is the only important factor. The execution speed is (more-or-less) identical, isn't it?

LE Version: 2.50 (Eventually)

Link to comment
Share on other sites

This is what happens with LEO also, because its so huge, so a LEO.DLL would help also here.

The benefit of static linking is not all the code needs to be included in the exe, a leo.dll would be very pointless.

Intel Core i7 975 @ 3.33GHz, 6GB ram, GTX 560 Super OC, Windows 7 Pro 64bit

Link to comment
Share on other sites

give me .so ;P

LINUX: Viagra for the PC.

 

running Slackware GNU/Linux since 1996

Linux Developer

 

Windows is a 32 bit shell for a 16 bit extension to an 8 bit Operating System designed for a 4 bit microchip by a 2 bit company which can't stand one bit of competition

 

You can protect yourself from the 12/21/12 thing by not using the US short hand date format :lol:

 

21/12/12 ... Nope, that doesn't work

12/12/21 ... Doesn't work either

 

 

Crisis averted...

 

EVE-Online exclusive 21-day trial

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...