From: <Llo...@wa...> - 2001-04-13 13:38:48
|
Subject: Re: [Mingw-users] Can I statically link to libstdc++.dll? Date: Fri, 13 Apr 2001 15:39:43 +0200 From: Lloyd Dupont <Llo...@wa...> Reply-To: Llo...@wa... X-Mailer: by Apple MailViewer (2.106) AI> Now, is there a way to compile statically against libstdc++, but dynamically AI> against any other libs? as i said it is dangerous to statically link with libstdc++ and dynamically with any other. atleast for exception, errno and maybe other global variable i don't know. here is the reason. ------------------- someones answer it shrink your executable, it's nice, someother answer that using third parties DLL (instead of static lib) let you be up to date when this third parties upate their code. but, much more important. you cannot safely mix dll/static lib. if you have two dll, let me called them a.dll, b.dll which together statically link with a static lib, let it called libstdc++.a they both have their own private copy of globally exported symbol. this does't matter or function, but it is a true problem for global variable. i don't really now the intern of exception but i guess, as i easily do it this way in pure C, that there is a common exception table of address holdig setlongjmp data. and an exception pick data in it. so when you use dll and static lib you cannot make your exception cross your dll up to your executable as it will have no data in your executable's exception table !!!!!!!! so i advice you, to prevent such problem write program either without DLL at all or exclusively using DLL. |