Status & Roadmap
Authors & License
Funding Ultimate++
Search on this site
Search in forums

SourceForge.net Logo
Home » Community » Newbie corner » U++ as shared dll
U++ as shared dll [message #44732] Tue, 09 June 2015 16:52 Go to next message
kaka is currently offline  kaka
Messages: 1
Registered: June 2015
Junior Member

Sorry for my english.

Is it possible to use U++ as a shared library ?
I found a way to build shared dll with option "All shared" in build options(ex : Mingw Optimal) and the result is several dll : core.dll draw.dll plugin_bmp.dll, plugin_png.dll plugin_z.dll richtext.dll

but how to use them for my project ?
I seems that the u++ framework is included in exe file as static library.

Thanks for your help
Re: U++ as shared dll [message #44734 is a reply to message #44732] Wed, 10 June 2015 12:09 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13428
Registered: November 2005
Ultimate Member
kaka wrote on Tue, 09 June 2015 16:52

Sorry for my english.

Is it possible to use U++ as a shared library ?

Simple answer: NO

More complex answer: It would be theoretically possible, after fixing some issues. So far nobody done that yet, because it sort of deletes about half of U++ features. C++ and .dlls are, in principle, quite incompatible - you have to be very careful about versioning .dlls correctly. Many changes in the code make .dll incompatible. At that point, you would rather have to ship .dlls with application - and what is the point in having .exe split into .dlls then?

To add to the list of issues, windows .dll implementation makes some optimizations impossible, so some code can run significantly faster when linked statically.
Re: U++ as shared dll [message #44749 is a reply to message #44732] Mon, 15 June 2015 11:04 Go to previous message
Mindtraveller is currently offline  Mindtraveller
Messages: 917
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

I would also add to the previous answer that in spite of being designed to be tatically linked, U++ uses a numberr of flags to eliminate much of its code. So if you want to minimize binary footprint you may search this forum for this kind of flags.
Previous Topic: Vector deep copy constructor
Next Topic: Execute problems with Ultimate++
Goto Forum:

Current Time: Sun Sep 26 23:57:00 CEST 2021

Total time taken to generate the page: 0.00880 seconds