[orbitcpp-list] Comments about o2cpp
Status: Beta
Brought to you by:
philipd
From: Phil d. <ph...@us...> - 2000-02-01 16:28:48
|
Hi Andreas, I've got a couple of comments about o2cpp: 1) Licensing issues: Is your runtime LGPL? I could only find the GPL license in your tarball. 2) A little bug report: GCC 2.95.2 won't compile the basic example because the ORBit C skels declare an 'in' string as const char*, where as o2cpp's stubs declare it without the const. The compiler barfs on the epv function pointers. 3) There's a lot of code in the runtime. I haven't had a lot of time to look at it in detail, but it looks like a lot of the ORBit-C stuff is duplicated in the orb layer (interface hash lookups, poa implementation, reference counting, etc..). I've already made this mistake in ORBit-C++, and am now in the middle of rewriting the runtime code to take advantage of the built-in binary compatibility between the C and C++ language mappings. If you give the C and C++ types the same binary footprint, then you can convert between them with a reinterpret cast. No need for hash lookups to identify the stub factory, and no need to deal with C++ object lifecycles in the stubs/skeletons and for a new ref counting implementation. The code size is much smaller and the marshalling code is almost non-existant (the only thing that requires stub code at all is marshalling exceptions from the environment structures). 4) Your indentation style is a little bizarre. If we do merge code I'd be a little concerned that it would be off-putting to other developers (just as my use of python was to you). Have you tried K&R, stroustrop or any of the other styles? Do you have emacs or indent settings for your C++ indentation style - maybe we could automate the translation between your style and one of the 'standards' (I don't care which one) before it goes into CVS? Cheers, Phil. |