Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » Some small issues with TheIDE and DLLs
Some small issues with TheIDE and DLLs [message #22290] Wed, 01 July 2009 04:58 Go to previous message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
I need to generate a DLL from TheIDE which exports some functions with implementations that use U++ classes.

First I tried setting the "All shared" option. This was a long shot and I was sure it wouldn't work, but the build process crashed. It shouldn't crash.

After some searching on the site I found that you are supposed to set the "DLL" configuration flag. This seems to have worked. I get a rather large DLL (probably the linker doesn't know what to exclude and includes all), an ".exp" file and a ".lib" file. Everything seems to work. Except when I hit run, I get a nice error message that the DLL can't be run (which is true of course) and a nice crash. It shouldn't crash.

But when building with MINGW I don't get the ".lib". This is needed if I don't do manual loading of the DLL. (Also the DLL is more than twice as big when compared to the MSC version, but I guess this is to be expected).

I have a few questions:
1. Should I compile with USEMALLOC option. Will U++'s malloc implementation cause problems if I free in the client application something allocated by the host? Will it be okay if all allocation and freeing is done by calls to the DLL?
2. Will there be issues with "icpp"s and other initialization tricks that U++ uses?
3. Can I use the the "DLL" flag under Linux or must it be changed to "SO". Same issue, I don't want a .so for every package, I want one big one.
4. Is there some macro provided by U++ as a platform independent equivalent of __declspec(dllexport) for writing DLLs?
5. What happens to global variables. What if my functions alter such variables. Will there be multiple such instances for different clients or will they override each other. Can this cause problems with all the global variables U++ uses internally? And is this behavior consistent across platforms?

Thank You
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Editing Python scripts in TheIde
Next Topic: Font for Edit/Output window - width between the chars is too big
Goto Forum:
  


Current Time: Tue May 07 00:17:54 CEST 2024

Total time taken to generate the page: 0.02257 seconds