Build your application with a generated tracer
$ gcc my-app.c barectf.c
Note that you probably need to build a platform into your application too:
$ gcc my-app.c barectf.c platform.c
You can also build the tracer and/or the platform as dynamic libraries and link your application to them if your system supports this feature.
Compiler requirements
barectf generates ANSI C code, with the
exception of a requirement for stdint.h
, which is part of C99.
If your C standard library doesn’t offer stdint.h
, you need to
create this file and define the following type definitions:
-
uint8_t
-
uint16_t
-
uint32_t
-
uint64_t
-
int8_t
-
int16_t
-
int32_t
-
int64_t
stdint.h
.#ifndef _BARECTF_STDINT_H
#define _BARECTF_STDINT_H
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef signed long int64_t;
#endif /* _BARECTF_STDINT_H */
Supported C compilers
The C code which barectf generates is known to be compilable by the following compilers:
-
GCC and G++ (tested with the IA-32, x86-64, MIPS, ARM, and AVR architectures; also tested with and without the
-ansi
option) -
Clang and Clang++ (tested with and without the
-ansi
option) -
Microsoft Visual Studio 2008 (with a custom
stdint.h
) -
Microsoft Visual Studio 2010+