Joeish W <joeish80829@yahoo.com> writes:
I have Lisp functions that wrap C wrappers for C++ functions that contain a new operator. The C wrappers have to stay the same I can't change those but I was advised to update my method of GC.
As already mentioned before, use the package 'trivial-garbage'. The cl-git package that wraps the libgit2 C code might be a good example. The cl-git code tries the handle automatic freeing by the garbage collector, but also allows you to free manually. In addition it keeps track of dependencies, e.g. in cl-git a 'commit' is only valid as long as the 'repository' is open. It is not much code and might give some inspiration. Disclaimer, I was quite involved in this bit of cl-git, the project is on github: https://github.com/russell/cl-git As an additional question, maybe not well suited for this list. I see you are wrapping the OpenCV code. There are already two other wrappers. So I am curious what are the deficiencies of the existing wrappers that your wrapper tries to solve? Wim Oudshoorn.