C Board  

Go Back   C Board > Community Boards > General Discussions

Reply
 
LinkBack Thread Tools Display Modes
Old 04-28-2008, 06:07 AM   #1
Banned
 
Join Date: Nov 2007
Posts: 678
windows dll problems

Originally posted posted at: http://www.yolinux.com/TUTORIALS/Lib...ndDynamic.html

Quote:
Originally Posted by Talking about Linux .so files
The library version can be specified when the shared object library is created. If the library is expected to be updated, then a library version should be specified. This is especially important for shared object libraries which are dynamically linked. This also avoids the Microsoft "DLL hell" problem of conflicting libraries where a system upgrade which changes a standard library breaks an older application expecting an older version of the the shared object function.
Then how they solve this problem on Windows?
Does it mean that all the pre-installed apps have to be reinstalled with the latest versions of apps using latest versions of .dll?
manav is offline   Reply With Quote
Old 04-28-2008, 06:14 AM   #2
Kernel hacker
 
Join Date: Jul 2007
Location: Farncombe, Surrey, England
Posts: 15,686
Quote:
Originally Posted by manav View Post
Originally posted posted at: http://www.yolinux.com/TUTORIALS/Lib...ndDynamic.html



Then how they solve this problem on Windows?
Does it mean that all the pre-installed apps have to be reinstalled with the latest versions of apps using latest versions of .dll?
Well, the general way is that you don't "disturb" old functions in the DLL - anything that changes the behaviour of a function in such a way that it's noticable outside the function, it should become a new function, and new libraries call the new function.

But aside from programmers doing the right thing, there's no mechanism in Windows to account for DLL's changing.

--
Mats
__________________
Compilers can produce warnings - make the compiler programmers happy: Use them!
Please don't PM me for help - and no, I don't do help over instant messengers.
matsp is offline   Reply With Quote
Old 04-28-2008, 06:23 AM   #3
Banned
 
Join Date: Nov 2007
Posts: 678
Thanks Mats!
So if I had made a .dll and then i wanted to make some changes, then to avoid any problems i can just leave old functions as it is, and implement new functions, and, the new dl will still work, even for older apps. Right?
manav is offline   Reply With Quote
Old 04-28-2008, 06:24 AM   #4
Kernel hacker
 
Join Date: Jul 2007
Location: Farncombe, Surrey, England
Posts: 15,686
Quote:
Originally Posted by manav View Post
Thanks Mats!
So if I had made a .dll and then i wanted to make some changes, then to avoid any problems i can just leave old functions as it is, and implement new functions, and, the new dl will still work, even for older apps. Right?
Yes.

Of course, this is of no importance if the .DLL and the .EXE are always distributed in pairs.

--
Mats
__________________
Compilers can produce warnings - make the compiler programmers happy: Use them!
Please don't PM me for help - and no, I don't do help over instant messengers.
matsp is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
First Windows DLL g_hickley C Programming 4 02-14-2009 12:16 AM
non-MFC DLL with MFC app question. Kempelen Windows Programming 10 08-20-2008 07:11 AM
Using class with DLL greg2 C++ Programming 2 09-12-2003 05:24 AM
windows service + hooks + dll rotis23 Windows Programming 5 09-04-2003 07:06 AM
Windows Xp Problems People!!! CumQuaT A Brief History of Cprogramming.com 7 08-02-2002 08:20 PM


All times are GMT -6. The time now is 05:03 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22