Re: class extension for C
Jon Slaughter wrote:
I want to use classes in some embedded C dev to make the code more
organized. Is there any post processor that can do this? If not anyone know
of a very simple way to go about doing this? (some type of free C/C++ like
processor that I can modify without to much trouble)
Essenitally it would translate a class into compatible C code, e.g.,
class X
{
int i;
void func(int c);
};
...
X.i = 3;
X.func(3);
into
int iX;
void funcX(int c);
...
iX = 3;
funX(3);
-------
I don't need polymorphism, inheritence or encapsulation really(although it
would be nice) or even need to create objects from the class(in a sense the
classes are global static structs).
I just want to be able to write a bit more logical code in C with a little
bit of encapsultion(or really just organization).
I imagine though one could add the ability to use objects by just
specializing the class name a bit but it would require a little more work to
setup the class.
Unfortunately theres no C++ compiler for the device I'm interested in and I
don't want to write one.
As Sam said, your best bet is probably just to write decent C code. If
you are determined to go down the preprocessor route ('tis a shortcut in
name only), take a look at the KOBJ framework used in the BSD kernel.
If you just want generic types, Google turns up various macro libraries.
Here's one "inspired by" the STL:
http://sglib.sourceforge.net/