//
// main.c
// testffi
//
// Created by Peter Teeson on 13-01-07.
// Copyright (c) 2013 PHT Software. All rights reserved.
//
#include <stdio.h>
#include <inttypes.h>
int64_t test_ffi_sum (int8_t a, int16_t b,
int32_t c, int64_t d);
int64_t test_ffi_sum (int8_t a, int16_t b,
int32_t c, int64_t d)
{
printf("int64 d %" PRId64 " %#llX \n", d,d);
printf("int32 c %" PRId32 " %#X \n", c,c);
printf("int16 b %" PRId16 " %#X \n", b,b);
printf("int08 a %" PRId8 " %#X \n", a,a);
int64_t sum = d + c + b + a;
printf("int64 sum %" PRId64 " %#llX \n", sum,sum);
return sum;
}
int main(int argc, const char * argv[])
{
test_ffi_sum(-1, 2000, -30000, 40000000000);
return 0;
}
(3) produces this output