Bonjour,
J'ai compilé un petit programme "debug.pc" de test sous linux et j'ai eu une erreur de Segmentation fault a l execution ( pas d erreurs a la compile ).
Ce meme programme s execute sous HPUX sans problemes.
Remarque :
Lorsque je declare les deux structures st_test1 et st_test2 ===> Il y a segmentation fault. Par contre si je ne declare que une d entre elles ou diminue la taille de TAB1,TAB2 ou TAB3 le programme s execute normalement.
Merci de votre aide.
Voilà le contenu du programme :
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
EXEC SQL INCLUDE SQLCA;
main(argc,argv)
int argc;
char *argv[];
{
#define AFFICHAGE 100
#define TAB1 1000
#define TAB2 60000
#define TAB3 50000
/* Table test1 */
typedef struct st_test1 { /* Si cette declaration est en commentaire, le programme marche */
double taille;
char rec_1[6];
};
struct st_test1 tab_test1[TAB3];
/* Table test2 */
typedef struct st_test2 {
char vp[2];
char car[3];
char marque[4];
char modele[11];
char energie[2];
};
struct st_test2 tab_test2[TAB2];
printf("\n");
printf("################################\n");
printf("### ###\n");
printf("### PROG DEBUG ###\n");
printf("### ###\n");
printf("################################\n");
printf("\n");
exit(0);
} /* Fin de la fonction main */

Jai utilisé le code après tes remarques et j'ai toujours la meme erreur.
Mais quand je mets la ligne :
st_test1 tab_test1[50000];
en commentaire ou je remplace 50000 par une taille plus petite ça marche.
Pour EXEC SQL INCLUDE SQLCA; C'est parce que c'est un PRO*C. Mais en tout cas on peut utiliser que le .c généré.
Merci