This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

global instances in dll's


Hi everyone,

I'm trying to migrate an application from Watcom compiler to Cywin.

Two parts compose the application:

- An executable one, using a main function to run the program.
- A dll. It receives petitions from the executable.

This pair has been compiled and linked under Windows NT and W2000 using Watcom compiler without problems. But when I try to build the application under Cygwin, a problem arises.

Basically, the problem is caused by several inherited global class instances, duplicated in executable and .dll programs.
For instance:

E (executable) calls B. B is a module that defines global instance C.
D (dll) calls B. B defines global instance C also.

In Watcom this instances become different in the executable and in the dll, but in cygwin I notice the instance is the same that I have in the executable file. This causes working problems, related to reentered destructors and not desired inherited information.
Obviously, the desired situation would be to avoid global instances in order to completely encapsulate the program operation, but this requires too much study and time by now. The related software piece is an inherited one difficult to isolate. So at first I'd like to adapt the Cygwin program funcionality to the Watcom program one, and, after that , progress in module isolation.

Is it possible, using any linker option, or modifier, to get the .dll working with global variables different instances that those in .exe ?

Could anyone help me ?

Thanks in advance. Ignasi Villagrasa.





--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]