Si ton tableau est vraiment gros, le binaire risque d'être aussi assez gros. Il vaut peut-être mieux allouer la mêmoire dynamiquement au début du programme. Avec memset(3) ou memcpy(3) ça devrait être assez rapide. S'il n'est pas si gros que ça, tu peux le taper à la main (ou avec un petit coup de shell).
Sinon tu dois pouvoir faire ça avec un macro directement généré par le shell genre:
gcc -DBIG_TABLE=`for (( i=0; i < 1000 ; i++)) ; do echo -n '42, ' ; done` foo.c
et dans foo.c:
static int *big_table = { BIG_TABLE };
Ca doit aussi marcher dans un Makefile. Pour que quelques éléments soient initialisés différement, ben tu t'amuses à rajouter des if dans ton script shell. C'est pas très propre mais ça devrait marcher.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# peut être
Posté par Krunch (courriel, site web personnel) . En réponse au message initialisation statique tableau. Évalué à 3.
Sinon tu dois pouvoir faire ça avec un macro directement généré par le shell genre:
gcc -DBIG_TABLE=`for (( i=0; i < 1000 ; i++)) ; do echo -n '42, ' ; done` foo.c
et dans foo.c:
static int *big_table = { BIG_TABLE };
Ca doit aussi marcher dans un Makefile. Pour que quelques éléments soient initialisés différement, ben tu t'amuses à rajouter des if dans ton script shell. C'est pas très propre mais ça devrait marcher.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.