Welcome, Guest. Please Login or Register
Linderdaum Engine
  Latest info can be found on the YaBB Chat and Support Community.
  HomeHelpSearchLoginRegister  
 
Page Index Toggle Pages: 1
Send Topic Print
Dynamic Linking (Read 1180 times)
Leiden
YaBB Newbies
*



I Love YaBB 2!

Posts: 3
Dynamic Linking
28.11.2006 at 05:42:31
 
Hi There,

Firstly excellent work on the Engine. Now, I have a few possible design ideas that would make it even more enjoyable to use. While using the Engine the first thing I noticed was compile time. Its around a minute or two. Would it be possible to have the Engine Library seperate from the Chess Game and have it compiled to a static lib, or dll? That way, you would only need to compile the engine once, then compile time would be shorter for applications developed with the engine. You could also have the Chess Demo using that dll as an example of how to use the Engine.

Again excellent work on your engine.

Thanks, Leiden.
Back to top
 
 
IP Logged
 
Sergey Kosarevsky
YaBB Administrator
*****



Founding father

Posts: 92
Russia, SPb
Gender: male
Re: Dynamic Linking
Reply #1 - 28.11.2006 at 23:13:05
 
Yes. That would be possible.

The first step would be complete separation of the engine code from any demos - this will be released as the next version of the engine.

The second step - DLL linking is somewhat more tricky and it will take some time to do this. Can't tell anything about it now.

But the good point is that if you need to boost the compile time reduction you could achive it via incremental linking. I.e. it takes seconds to compile modifications to chess demo while leaving the core code intact.
Back to top
 
WWW  
IP Logged
 
Leiden
YaBB Newbies
*



I Love YaBB 2!

Posts: 3
Re: Dynamic Linking
Reply #2 - 01.12.2006 at 11:06:34
 
I hadn't thought about incremental linking. Is that the same thing as using Precompiled Headers?

For the dll wouldnt you need to add __declspec(dllexport) to all your functions/class methods to get a library and dll, then just use the header files with dllimport?

Theoretically that would work wouldnt it? I'm gonna have a play with the incremental linking thing. Thanks for the tip.
Back to top
 
 
IP Logged
 
Sergey Kosarevsky
YaBB Administrator
*****



Founding father

Posts: 92
Russia, SPb
Gender: male
Re: Dynamic Linking
Reply #3 - 01.12.2006 at 21:46:09
 
No, precompiled headers are another story (btw, they're not used in the project). ConfigVCAuto was configured to use incremental linking. Do you use it or use your own .vcproj file?

Not sure about DLLs and about interaction of GCC and VC++. There could be troubles as soon as i will start classes export.
Back to top
 
WWW  
IP Logged
 
Leiden
YaBB Newbies
*



I Love YaBB 2!

Posts: 3
Re: Dynamic Linking
Reply #4 - 05.12.2006 at 05:29:14
 
Yeah I was using my own VC project. Didnt know about ConfigVCAuto? Now I do though. I honestly have no idea really about dll's and GCC/VC++. I'm sure you would have more of an idea than me.
Back to top
 
 
IP Logged
 
ViktorL
YaBB Administrator
*****



Linderdaum - the engine
of the future

Posts: 84
Russia, SPb
Gender: male
Re: Dynamic Linking
Reply #5 - 04.05.2009 at 13:44:41
 
Since Linderdaum is a class library there always will be problems with export to .dll/.so files.  GCC and VC++ are not compatible at the binary level because of the name mangling for methods and functions, so simple __declspec(dllexport/import) won't do.

Even more, the development tools always change so rapidly, that C++ isn't a language of choice for many people right now. We are planning to write a managed (.NET) wrapper for our engine.
Back to top
 
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send Topic Print