From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.user Subject: Re: Exposing common type wrapping/unwrapping methods Date: Sat, 20 Aug 2005 09:53:28 -0400 Message-ID: References: <87oecutxox.fsf@laas.fr> <87vf58cxxq.fsf@zagadka.de> <87k6kwopv5.fsf@laas.fr> <87vf22s6j7.fsf@laas.fr> <87mznclr2b.fsf@zagadka.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 (Apple Message framework v734) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1124546984 15440 80.91.229.2 (20 Aug 2005 14:09:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 20 Aug 2005 14:09:44 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Aug 20 16:09:40 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1E6U1P-00011L-Pq for guile-user@m.gmane.org; Sat, 20 Aug 2005 16:08:32 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1E6U52-00087W-Ee for guile-user@m.gmane.org; Sat, 20 Aug 2005 10:12:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1E6U2Y-0006jW-0i for guile-user@gnu.org; Sat, 20 Aug 2005 10:09:42 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1E6U2T-0006hJ-38 for guile-user@gnu.org; Sat, 20 Aug 2005 10:09:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1E6U2S-0006Yr-HH for guile-user@gnu.org; Sat, 20 Aug 2005 10:09:36 -0400 Original-Received: from [207.172.4.63] (helo=smtp04.mrf.mail.rcn.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1E6Tn3-0000wj-25 for guile-user@gnu.org; Sat, 20 Aug 2005 09:53:41 -0400 Original-Received: from unknown (HELO raeburn.org) ([65.78.24.4]) by smtp04.mrf.mail.rcn.net with ESMTP; 20 Aug 2005 09:53:32 -0400 X-IronPort-AV: i="3.96,127,1122868800"; d="scan'208"; a="72439072:sNHT23508086" Original-Received: from [18.101.0.226] (laptop.raeburn.org [18.101.0.226]) by raeburn.org (8.12.11/8.12.11) with ESMTP id j7KDrU04004653; Sat, 20 Aug 2005 09:53:30 -0400 (EDT) In-Reply-To: <87mznclr2b.fsf@zagadka.de> Original-To: Marius Vollmer X-Mailer: Apple Mail (2.734) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:4703 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:4703 On Aug 20, 2005, at 08:40, Marius Vollmer wrote: > My decision at that time was that we assume that there is only one > malloc and one free. Okay. >> Basically, malloc and free referenced from a DLL, say libguile.dll, >> may be different instances of the functions than the application or >> other DLLs might see, and they should thus be assumed to have >> different allocation pools that can't be mixed. > > Is this merely technically possible or are people actually using this > 'feature'? Is it considered a godd practice? Why should we agree? > > Can we require libguile.dll to use the systems libc malloc and free? > We could put this in the documentation then so that people know which > variant of malloc and free to use together with libguile.dll. I'm not an expert in this area, but my understanding is: "The system's libc" is part of the problem here -- there's no special DLL which is *the* C runtime library. You can use MSVCRT.DLL, or MSVCR71.DLL, or MSVCRTD.DLL, and perhaps others, depending on the compiler, compiler version, and compiler options you use for each component. You can also link the C runtime into your executable, but its symbols may not be seen by the DLLs, I think. It's all well and good if you can tell someone that they have to use the same compiler and options for building the executable as for building the library, but it gets messy if someone might be providing a pre-built DLL. Ken _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user