Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Erreur CC
Envoyé par: Matt

Bonjour à tous,

Un de mes utilisateur obtient l'erreur suivante lors de l'utilisation de cc (sous Hp-Ux 11)
cc: "nomdufichier.h", line 122: error 1809: size of aggregate exceed compiler limits.
Si quelqu'un pourrait m'éclairer sur l'origine de cette erreur, je lui serait reconnaissant car je ne maitrise pas du tout cc et mes recherches sur ce code d'erreur sont restées vaines X-o Bon naturellement je ne demande pas une résolution de l'incident mais juste quelques pistes sur lesquelles je pourrais orienter mes recherches !
Mes recherches googlienne m'ont indiqué un forum coréen :-/ dans lequel l'entête du post était : Memory.

Merci à tous !

Matt, Tyrannisé par sa hierarchie X-o

Poste le Wednesday 28 September 2005 16:33:30
Répondre     Citer    
Re: Erreur CC
Envoyé par: Sve@r

Citation
Matt
Bonjour à tous,

Un de mes utilisateur obtient l'erreur suivante
lors de l'utilisation de cc (sous Hp-Ux 11)
cc: "nomdufichier.h", line 122: error 1809: size
of aggregate exceed compiler limits.
Si quelqu'un pourrait m'éclairer sur l'origine de
cette erreur, je lui serait reconnaissant car je
ne maitrise pas du tout cc et mes recherches sur
ce code d'erreur sont restées vaines Bon
naturellement je ne demande pas une résolution de
l'incident mais juste quelques pistes sur
lesquelles je pourrais orienter mes recherches !
Mes recherches googlienne m'ont indiqué un forum
coréen dans lequel l'entête du post était :
Memory.

Merci à tous !

Matt, Tyrannisé par sa hierarchie

Ce serait bien que tu nous donnes le contenu de la ligne 122 de ce fameux "nomdufichier.h". Apparemment, d'après le message d'erreur, cette ligne contient une structure plus grosse que ce que le compileur peut accepter.
Par exemple ça pourrait être un truc de ce style:
struct {
char nom[500000];
} tab[100000];

Va poser ta question sur "forum-hardware". Il y a plein de grosses têtes habituées à ce genre de problème.
Url ici: [forum.hardware.fr]


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Thursday 29 September 2005 11:06:01
Répondre     Citer    
Re: Erreur CC
Envoyé par: Matt

Hello !
En effet, gros oubli de ma part de ne pas avoir noté la ligne incriminée !

la voici :

extern TConstante TabConstante[ MAX_GROUPE_CONSTANTE ][ MAX_SOUS_GROUPE_CONSTANTE ][ MAX_INFO_CONSTANTE ];


Et en effet ,merci pour la piste, je vais m'orienter vers le hardware car après moult tests, la moulinette passe sur un serveur plus "obsolete" (tant au niveau hardware qu'au niveau de l'os)
Je vous remercie,

@++ Matt

Poste le Thursday 29 September 2005 16:00:48
Répondre     Citer    
Re: Erreur CC
Envoyé par: Sve@r

Citation
Matt
extern TConstante TabConstante[
MAX_GROUPE_CONSTANTE ][ MAX_SOUS_GROUPE_CONSTANTE
][ MAX_INFO_CONSTANTE ];

Tu déclares un tableau en 3 dimensions (un cube) d'une taille MAX_GROUPE_CONSTANTE x MAX_SOUS_GROUPE_CONSTANTE x MAX_INFO_CONSTANTE x sizeof(TConstante) octets

Je n'ose même pas imaginer la valeur de ces 3 "MAX_MACHIN_CONSTANTE"...


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Thursday 29 September 2005 22:33:21
Répondre     Citer    
Re: Erreur CC
Envoyé par: Matt

Ok ! en effet pour quelqu'un qui a des notions en dev, ça doit sauter aux yeux .. mais pour moi c'est du chinois :-/ ça à l'air assez gourmand tout ça !!
Je vais donc orienter mes recherches du coté des limitations data/stack!
En tout cas merci beaucoup pour avoir éclairer ma lanterne !
Bon week à tous ! ^^D-*

Poste le Friday 30 September 2005 09:29:49
Répondre     Citer    
Re: Erreur CC
Envoyé par: Sve@r

Citation
Matt
Ok ! en effet pour quelqu'un qui a des notions en
dev, ça doit sauter aux yeux .. mais pour moi
c'est du chinois

Hum...
En C, un tableau à une dimension se déclare ainsi
<type> nom [nb_elements]

Cela te réserve "nb_elements" x "taille de type" octets

Par exemple: long tableau[100] => tableau de 100 entiers format long soit 100 x 4 octets

Si tu veux travailler en 2 dimensions, style matrice, tu peux rajouter des crochets. Cela donne
<type> nom [x][y]
Cela te réserve un tableau de x * y * "taille de type" octets

Par exemple, double tableau[10][20] => tableau de 10 x 20 nombres au format "double" soit 200 x 8 octets

Le nombre de crochets est illimité. Tu peux donc travailler sur un tableau en 5 ou 50 dimensions (si tu arrives à t'en sortir). Le seul problème est la mémoire que cela prend. Et apparemment c'est ton problème dans ton cas précis...




L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Friday 30 September 2005 15:38:07
Répondre     Citer    
Re: Erreur CC
Envoyé par: Matt

Voilou la réponse :


The following error occurs when attempting to compile ProC source
code:

cc: "source.c", line 1349: error 1809: size of aggregate
exceeds compiler limits.
*** Error exit code 1



This error occurs because the array size which is defined in the
program exceeds the limit of the compiler.
On HP-UX 11.00, the compiler will not allow an array with more than
2^28 BYTES, whereas on 10.20 the compiler will not allow an array
with more than 2^28 ENTRIES, irrespective of the element size.
It is not possible to change this limitation.
It is necessary toalter the code accordingly.


Merci à sve@r pour le temps qu'il a consacré à me répondre ! ];-)

Un week end serein s'annonce :-)

@++

Matt

Poste le Friday 30 September 2005 16:43:31
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Erreur CC
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons