Bonjour,
J'ai un type array non contraint et j'aimerais pouvoir définir qu'un objet de ce type fasse k*32 bits au lieu de k*Standard'Storage_Unit (= k * 8 bits pour mon PC). Je ne peux pas utiliser l'attribut 'Size car le type n'est pas contraint.
Voici un bout de code pour mieux expliquer ce que je veux :
Merci pour votre aide
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 type Bit is mod 2; type Bit_Array is array (Integer range <>) of Bit; for Bit_Array'Component_Size use 1; -- for Bit_Array'Storage_Unit use 32; -- malheureusement illégal (...) -- Ici j'aimerais que X soit sur 96 bits (k * 32 bits) au lieu de 72 bits (k * 8 bits) X : Bit_Array (0 .. 66); begin -- Devrait retourner 96 au lieu de 72 Ada.Text_IO.Put_Line (Integer'Image(X'Size)); (...)
Jonas
Partager