Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3A2BB83C.2B394F6A@ece.gatech.edu> Date: Mon, 04 Dec 2000 10:29:00 -0500 From: "Charles S. Wilson" X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: "Steven O'Brien" CC: cygwin AT cygwin DOT com Subject: Re: building dlls, C and C++ References: <001401c05df0$e4dd0c80$95698cd4 AT emerald> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit > Indexes are useful > mainly for release management, because as long as each exported symbol keeps > the same index across releases the users of the DLL do not have to re-link > their applications when upgrading the DLL. Sort of. It depends on whether the application was "linked by name" or "linked by number". Windows provides for both possibilities, but I am not sure which one is used by gcc/ld or if one can specify which link method to use. Link by number gives an executable that loads a bit faster, but prone to breakage when new dll's are released. That's why most of the packages I've released include .def files rather than relying on --export-[all|dynamic] and/or __declspec(dllexport) alone, just to be safe. (All my information about link-by-name or link-by-number comes secondhand from discussions on the libpng-developers mailing list. I'm no expert). --Chuck -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com