<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Am 16.08.2013 09:54, schrieb Mikael:<br>
</div>
<blockquote
cite="mid:CACbx-M93U+DUayjNh8FJ3t6M_tAZLMt_UxhAyev8Gp78Cxbifw@mail.gmail.com"
type="cite">
<div dir="ltr"><span
style="font-family:arial,sans-serif;font-size:13px"></span>
<div>
<span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px">Remember
that for c-define-type :s that do not have a release
procedure specified, there is *no* deallocation (such as
free() etc.) invoked at their scheme-world GC.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div>
</div>
</blockquote>
<br>
I've read in the documentation for the default release function
(pointer ..) and (nonnull-pointer ...) types are not performing any
deallocation like you mentioned.<br>
<br>
I'm a little bit curious about (struct ..) type-definitions because
due to the documentation it has probably a more useful default
behaviour for releasing.<br>
<br>
Can i assume if i allocate and use a (struct ...) type that the GC
management system will handle this reference properly? (in contrast
to pointers)<br>
<br>
This would save me a lot of specific cleanup code for all predefined
types if gambit's system is performing delete calls automatically
for structs.<br>
<br>
e.g.<br>
<br>
(c-define-type std::string (struct "std::string"))<br>
(define string-new (c-lambda (nonnull-char-string) std::string
"___result_voidstar = new std::string(___arg1);"))<br>
<br>
<br>
Only for clarification for myself i don't create memory leaks.<br>
<br>
Thanks,<br>
Chris<br>
<br>
<br>
</body>
</html>