On Sat, Dec 04, 1999 at 02:11:58PM -0500, Simon Kirby wrote:
> I decided to use libdpkg over libapt because I am not familiar with C++,
> and libapt seems to be making use of C++ heavily.

You can interface to C++ from C without too much trouble: doing things like,

apt_c_version.cc:
        #include <apt-pkg/version.h>
        extern "C" {
        int versioncmp(char *left, char *right) {
                return pkgVersionCompare(left, right);
        }
        }

and then using versioncmp("1.2-3", "0.3-5") as you would strcmp() from C.
You need to be a little cleverer at abstracting objects when you need
to pass them around, and use void*'s and such, but it's not too tricky.

(From my experience with just the versioncmp stuff, libapt's is *muchly*
preferable: it's significantly faster, and doesn't leave dangling chunks
of memory lying about)

Cheers,
aj

-- 
Anthony Towns <[EMAIL PROTECTED]> <http://azure.humbug.org.au/~aj/>
I don't speak for anyone save myself. GPG encrypted mail preferred.

 ``The thing is: trying to be too generic is EVIL. It's stupid, it 
        results in slower code, and it results in more bugs.''
                                        -- Linus Torvalds

Attachment: pgpHxHYg3iVLX.pgp
Description: PGP signature

Reply via email to