C– – Compiler
5-44
5.9.5 Include Files
There are currently two include files supplied with C– –, cmm_func.h, which
contains function prototypes for the C– –functions and cmm_macr.h which
contains some predefined macros. Both files are listed below:
/********************************/
/* Prototypes for C– –functions */
/********************************/
cmm_func add_string(int *result,int *str1,int *str2,int lg);
cmm_func sub_string(int *result,int *str1,int *str2,int lg);
cmm_func mul_string(int *result,int *str1,int mult,int lg1,int lgr);
cmm_func umul_string(int *result,int *str1,unsigned int mult,int lg1,int lgr);
cmm_func or_string(int *result,int *str1,int *str2,int lg);
cmm_func and_string(int *result,int *str1,int *str2,int lg);
cmm_func xor_string(int *result,int *str1,int *str2,int lg);
cmm_func not_string(int *result,int *str1,int lg);
cmm_func neg_string(int *result,int *str1,int lg);
cmm_func copy_string(int *output,int *input,int lg);
cmm_func rshift_string(int *output,int *input,int rshift,int lg);
#ifdef _CMM
cmm_func strcpy(char *outstring,char *instring);
cmm_func strlen(char *instring);
cmm_func calloc(int nitems,int size);
cmm_func malloc(int size);
cmm_func free(int *ptr);
#endif
cmm_func test_string(int *string1,int *string2,int lg,int oper);
cmm_func xfer_const(int *out,int *cst_addr,int lg);
cmm_func xfer_single(int *out,int *cst_addr);
/********************************/
Note the requirement that C– – function declarations (including
main
, of
course) be preceded by the keyword
cmm_func
. Also note the conditional
assembly portion, used for compatibility with Borland C.
/******************/
/* Macros for C– – */
/******************/
#define STR_LENGTH(i) (i–2)
/******************/
Major Differences between C and C– –
Although we have tried to keep the differences between
regular
C and C– –
to a minimum, there are still a few that require some explanations.