home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************
- This is an example application to test the C "simple.library". Make the
- glue code with LibTool (-c option).
-
- Manx 3.6
-
- cc +p SimpleCApp.c
- LibTool -cho glue.asm SimpleC.fd
- as -cd glue.asm
- ln -o ram:TestProgram SimpleCApp.o glue.o -lcl32
-
- Lattice 5.0
-
- lc -b0 SimpleCApp.c
- LibTool -cho glue.asm SimpleC.fd
- assemble glue.asm
- blink lib:c.o SimpleCApp.o glue.o LIB lib:lcnb.lib TO ram:TestProgram
-
- ****************************************************************************/
-
- #ifdef AZTEC_C
- #define NARGS
- #define NO_PRAGMAS
- #endif
-
- #ifdef AZTEC_C
- #include "functions.h"
- #else
- #include "proto/all.h"
- #endif
-
- #include "exec/types.h"
-
- /* This is the INCLUDE file made by LibTool */
- #include "SimpleC.h"
-
- ULONG argcount; /* Saves argc from main(). argcount==0, then run from WB. */
-
- #ifdef NARGS
- VOID exit_program();
- #else
- VOID exit_program( char, ULONG );
- long main( long, char ** );
- #endif
-
-
- VOID exit_program( error_words, error_code ) /* All exits through here. */
- char * error_words;
- ULONG error_code;
- {
- if( argcount && error_words ) puts( error_words );
- CloseSimpleBase(); /* This is always safe to call */
- exit( error_code );
- }
-
-
- /************************ MAIN ROUTINE *****************************/
-
- VOID main(argc, argv)
- LONG argc;
- char **argv;
- {
- register ULONG x, y, result;
-
- argcount = argc;
-
- /* open simple.library */
- if (! (OpenSimpleBase()) )
- exit_program("Can't open simple library.\n", 10L);
-
- /* add 2 numbers and print result */
- x = 4;
- y = 6;
- result = Add2Numbers(x, y);
- printf("%d + %d = %d\n", x, y, result);
-
- /* sub 2 numbers and print result */
- x = 10;
- y = 4;
- result = Sub2Numbers(x, y);
- printf("%d - %d = %d\n", x, y, result);
-
- /* multiply 2 numbers and print result */
- x = 8;
- y = 8;
- result = Mult2Numbers(x, y);
- printf("%d * %d = %d\n", x, y, result);
-
- exit_program(0L,0L);
- }
-