Nathaniel handed us a link to a really interesting paper on this very topic:
http://freetype.sourceforge.net/david/reliable-c.html

On Mon, Mar 31, 2003 at 04:18:45PM -0700, Micah Dowty wrote:
> Lalo and I have been discussing this more on IRC.
> 
> The main sticking point seems to be exceptions- It would be great to use C++ as
> a C-with-exceptions, but the problem with that comes in interfacing between libOm
> and other components that may be in C, C++, Python, or any other language. If you
> call a C++ function from C (or from a C interface generated for another language)
> the exception wouldn't be handled correctly.
> 
> There are a few solutions to this:
> 
>   - Give up on real C compatibility, and use something C++-friendly like SWIG
>     for interfacing to other languages
> 
>   - Allow users of libOm to produce either C++ exceptions or something C-friendly.
>     This would be a lot of unnecessary pain.
> 
>   - Make Om more like pg1's protocol- a protocol definition with completely 
>     separate implementations in each language.
> 
>   - Give up on using C++ in libOm, and stick to some C-compatible exceptions.
>     The two workable ways to do this that we've come up with so far:
> 
>        - Use calling macros similar to what pg1 uses, but with real objects instead
>          of just integers for exceptions. The objects could be tagged as the stack
>          unwinds, for providing backtraces.
> 
>        - Use setjmp/longjmp and a separate stack. There's an implementation of this
>          in Kazlib: http://users.footprints.net/~kaz/kazlib.html
> 
> --Micah
> 
> 
...

-- 
Only you can prevent creeping featurism!


-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/pgui-devel

Reply via email to