REFERENCE_PARAM()?
-
- Member
- Posts: 12
- Joined: Wed Aug 03, 2016 11:59 pm
REFERENCE_PARAM()?
Where is this defined? What is the purpose? It is not documented anywhere that we can find?
-
- XCore Addict
- Posts: 158
- Joined: Thu Mar 20, 2014 8:04 am
Please refer to xccompat.h from the toolchain install folder::
#ifdef __XC__
#define REFERENCE_PARAM(type, name) type &name
#else
#define REFERENCE_PARAM(type, name) type *name
#endif
Useful for api defines when used across *.xc and *.c files.
#ifdef __XC__
#define REFERENCE_PARAM(type, name) type &name
#else
#define REFERENCE_PARAM(type, name) type *name
#endif
Useful for api defines when used across *.xc and *.c files.
-
- XCore Addict
- Posts: 169
- Joined: Fri Oct 23, 2015 10:23 am
In XC you can pass by reference (as in c++).
In C you must pass by pointer.
Historically, XC did not offer pointers, hence the need for macro magic in header files used by both.
Post compilation, referecence and C-pointers are the same hence why it is safe to munge in this way.
In C you must pass by pointer.
Historically, XC did not offer pointers, hence the need for macro magic in header files used by both.
Post compilation, referecence and C-pointers are the same hence why it is safe to munge in this way.
-
- Member++
- Posts: 23
- Joined: Wed Mar 30, 2016 11:10 am
Dear Sir,
This description is also troubled me.
1.I am unable to find out where "__XC__" is defined.
2.or does it mean "__XC__ is defined" is default setting for .xc files ?
Thanks
#ifdef __XC__
#define REFERENCE_PARAM(type, name) type &name
#else
#define REFERENCE_PARAM(type, name) type *name
#endif
This description is also troubled me.
1.I am unable to find out where "__XC__" is defined.
2.or does it mean "__XC__ is defined" is default setting for .xc files ?
Thanks
#ifdef __XC__
#define REFERENCE_PARAM(type, name) type &name
#else
#define REFERENCE_PARAM(type, name) type *name
#endif
-
- XCore Legend
- Posts: 1126
- Joined: Thu May 27, 2010 10:08 am
__XC__ gets set automatically when compiling.xc files. As srinie says, thus macro is useful when declaring and writing functions that need to be callable from xc or c