Мне нужно предоставить клиенту статическую библиотеку C, и я должен иметь возможность сделать определение структуры недоступным. Кроме того, мне нужно иметь возможность выполнять код перед основной при инициализации библиотеки, используя глобальную переменную.
Вот мой код:
private.h
#ifndef PRIVATE_H
#define PRIVATE_H
typedef struct TEST test;
#endif
private.c (this should end up in a static library)
#include "private.h"
#include <stdio.h>
struct TEST
{
TEST()
{
printf("Execute before main and have to be unavailable to the user.\n");
}
int a; // Can be modified by the user
int b; // Can be modified by the user
int c; // Can be modified by the user
} TEST;
main.c
test t;
int main( void )
{
t.a = 0;
t.b = 0;
t.c = 0;
return 0;
}
Очевидно, что этот код не работает ... но покажите, что мне нужно сделать ... Кто-нибудь знает, как заставить это работать? Я немного гуглю, но не могу найти ответ, любая помощь будет принята с благодарностью.
ТИА!