args.c

来自「Small Device C Compiler 面向Inter8051」· C语言 代码 · 共 47 行

C
47
字号
/** Tests argument passing to functions.    Assumes that up to the first two arguments can be passed in registers.    type1: char, int, long    type2: char, int, long    type3: char, int, long */#include <testfwk.h>static {type1}returnFirstArg({type1} arg1, {type2} arg2, {type3} arg3){    UNUSED(arg2);    UNUSED(arg3);    return arg1;}static {type2}returnSecondArg({type1} arg1, {type2} arg2, {type3} arg3){    UNUSED(arg1);    UNUSED(arg3);    return arg2;}static {type3}returnThirdArg({type1} arg1, {type2} arg2, {type3} arg3){    UNUSED(arg1);    UNUSED(arg2);    return arg3;}static voidtestArgs(void){    ASSERT(returnFirstArg(123, 45, 67) == 123);    ASSERT(returnFirstArg(-123, 45, 67) == -123);    ASSERT(returnSecondArg(1, -23, 64) == -23);    ASSERT(returnSecondArg(1, 8, 64) == 8);    ASSERT(returnThirdArg(-33, -34, -35) == -35);    ASSERT(returnThirdArg(-33, -34, 35) == 35);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?