I have many functions for declaring in this format:
int foo_100(int, int);
int foo_200(int, int);
int foo_300(int, int);
int foo_400(int, int);
typedef int (*foo)(int, int);
struct foo foo_library[] = {
foo_100,
foo_200,
foo_300,
foo_400
};
Is it possible to use the C preprocessor to partially automate this task? Ideally, something like this:
foo.txt
100
200
300
400
foo.h
typedef int (*foo)(int, int);
#define DEFINE_FOO(id_) int foo_##id_(int, int);
DEFINE_FOO(#include"foo.txt")
struct foo foo_library[] = {
#include "foo.txt"
};
Paulh source
share