Le 2012-02-22 à 15:30:00, katja a écrit :

Pd classes can be done in C very well, if procedures are not too complicated and not meant to be used in other contexts.

In my practice, C is not high-level enough. So, for coding my own C++ externals, I use C++ together with a custom preprocessor which does a job similar to what SWIG does.

For a reusable audio analysis lib I would straightforwardly use C++, where it not for the considerations mentioned by Mathieu, Hans and Marvin. The intricate runtime support required for C++ leads to specific incompatibilities which don't exist for C.

IMHO, fighting those incompatibilities is worth it ; also, some of them don't exist anymore (in recent years), and some others have a workaround whenever you provide a C interface to a C++ library, and some others don't exist if you turn off try/catch/throw support.

A collection of useful routines which may be used individually, or combined as integrated analysis-engine, in the context of a framework like Pd, MaxMsp, SuperCollider.

Can you be more specific about what this will be ?

I use to link GNU C++ standard libs statically, just in case my class
is used with a Pd which doesn't have them. This adds more than 100 KB
to the executable size, not so nice detail.

Isn't this mostly when you use STL ? The use of STL is optional. For example, I almost never use #include <fstream> in C++, I still prefer <stdio.h>.

A C lib would not impose all these concerns on an application programmer. I'm inclined to look at C once more.

Instead, a C lib will impose other concerns that C++ won't. What will those be ?

 ______________________________________________________________________
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to