mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-26 07:11:34 -08:00
30 lines
506 B
C
30 lines
506 B
C
/* Example provided by Hannes Janetzek */
|
|
|
|
struct Test { int test; };
|
|
|
|
#define BLA(_type) \
|
|
_type *bla = (_type*) malloc(sizeof(_type));
|
|
|
|
#define BLUB(_type) \
|
|
(_type*)malloc(sizeof(_type));
|
|
|
|
#define FOO(_type) \
|
|
_type *foo = BLUB(_type);
|
|
|
|
#define BAR(_type) \
|
|
_type *bar = (*_type)BLUB(_type);
|
|
|
|
int main(int argc, char *argv[]) {
|
|
BLA(Test);
|
|
bla->// -1-
|
|
; // #1# ( "test" )
|
|
|
|
FOO(Test);
|
|
foo->// -2-
|
|
; // #2# ( "test" )
|
|
|
|
BAR(Test);
|
|
bar->// -3-
|
|
; // #3# ( "test" )
|
|
}
|
|
|