Bonjour à tous,

Ce problème me semble très facile, et pourtant, je suis perdu...

Mon compilateur ne peut accepter les tableaux de plus de 4ko.
Or j'ai un tableau TooBigArray qui en fait 5...
Donc, je coupe mon tableau en deux parties de moins de 4ko, et crée un tableau supplémentaire (GlobalArray) qui contient les adresses des deux tableaux (Array1 et Array2).
Comme mes tableaux ont une signification, je ne veux pas les couper n'importe où, et je n'ai pas du tout envie de compter la taille à la main.

Une callback traite les 5ko, en prenant des bouts de 100 octets continus de ce tableau TooBigArray(devenu imaginaire).

L'idée est donc de regarder la taille des tableaux Array1 et Array2 avec un petit sizeof(Array1) par exemple pour savoir dans quel tableau je suis, si les 100 octets demandés sont à cheval sur les deux tableaux, ...
Le problème, c'est que sizeof(GlobalArray[0]) me rend 1...
Or pour moi, GlobalArray[0] contient Array1.

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
static const unsigned char const Array1[] = {
//	17,
	OBJECT_ID(DTM_WELCOME), 1,
		230, MG_WORD(4000), 1, 0, 
		MG_WORD(3000), MG_WORD(0), MG_WORD(456), 
	OBJECT_ID(DTM_SPYPAGE1), 1,
		230, MG_WORD(4001), 7, 0, 
		MG_WORD(3001), MG_WORD(0), MG_WORD(0), 
		MG_WORD(3000), MG_WORD(0), MG_WORD(456), 
		MG_WORD(11000), MG_WORD(438), MG_WORD(4), 
		MG_WORD(3002), MG_WORD(0), MG_WORD(50), 
		MG_WORD(3003), MG_WORD(0), MG_WORD(74), 
		MG_WORD(3004), MG_WORD(0), MG_WORD(98), 
		MG_WORD(3005), MG_WORD(0), MG_WORD(122)
};
static const unsigned char const Array2[] = {
	OBJECT_ID(SFK_SPYMOD), 5,
		7, 3, 1, 0, 
		MG_WORD(21009), MG_WORD(10), MG_WORD(24), 
	OBJECT_ID(SFK_UNDEFINED), 5,
		7, 1, 1, 0, 
		MG_WORD(21005), MG_WORD(38), MG_WORD(38), 
	OBJECT_ID(SFK_HOME), 5,
		7, 2, 0, 0, 
	OBJECT_ID(SFK_TRACTOR), 5,
		1, 1, 1, 0, 
		MG_WORD(21006), MG_WORD(6), MG_WORD(23), 
	OBJECT_ID(SFK_STOP), 5,
		1, 4, 1, 0, 
		MG_WORD(21001), MG_WORD(0), MG_WORD(0), 
	OBJECT_ID(BMP_WSET_IBIO), 20,
		MG_WORD(68), MG_WORD(68), MG_WORD(34), 0, 0, 1, MG_LONG(306), 0, 
		255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 
		255, 255, 252, 0, 0, 31, 255, 248, 255, 255, 
		255, 243, 255, 255, 227, 255, 248, 255, 255, 255, 
		207, 255, 255, 252, 127, 248, 255, 255, 255, 63, 
		255, 255, 255, 143, 248, 255, 255, 254, 255, 255, 
		255, 255, 243, 248, 255, 255, 253, 255, 255, 255, 
		255, 252, 248, 255, 255, 251, 255, 255, 255, 255, 
		255, 120, 255, 255, 247, 255, 255, 255, 255, 255, 
		184, 255, 255, 239, 255, 255, 255, 255, 255, 184, 
		255, 255, 223, 255, 255, 255, 255, 255, 184, 255, 
		255, 191, 255, 255, 255, 255, 255, 184, 255, 255, 
		127, 255, 255, 255, 255, 255, 176, 255, 255, 127, 
		255, 224, 0, 0, 0, 48, 255, 255, 127, 255, 
		255, 255, 255, 255, 176, 255, 255, 128, 15, 255, 
		255, 255, 255, 176, 255, 255, 192, 15, 255, 255, 
		255, 254, 112, 255, 255, 192, 31, 255, 255, 255, 
		225, 240, 255, 255, 0, 15, 255, 255, 254, 31, 
		240, 255, 252, 0, 0, 0, 0, 1, 255, 240, 
		255, 240, 0, 0, 0, 31, 224, 255, 240, 255, 
		192, 63, 224, 0, 48, 48, 127, 240, 255, 0, 
		255, 240, 0, 96, 24, 127, 240, 252, 3, 255, 
		248, 0, 207, 204, 127, 240, 192, 15, 255, 240, 
		1, 159, 230, 127, 240, 128, 63, 255, 224, 3, 
		56, 115, 255, 240, 240, 255, 255, 192, 7, 48, 
		51, 255, 240, 255, 255, 255, 0, 7, 51, 51, 
		255, 240, 255, 255, 254, 0, 7, 48, 51, 255, 
		240, 255, 255, 252, 64, 15, 56, 115, 255, 240, 
		255, 255, 252, 224, 63, 159, 231, 255, 240, 255, 
		255, 254, 67, 255, 207, 207, 255, 240, 255, 255, 
		255, 7, 255, 224, 31, 255, 240, 255, 255, 255, 
		255, 255, 240, 63, 255, 240
};
 
const unsigned char * const GlobalArray[] =
{
		Array1,
		Array2
};
Comment donc obtenir la taille de mes tableaux ?
Merci d'avance pour vos réponses