Segmentation fault incompréhensible
Salut,
Aujourd'hui en faisant un petit cout, j'ai eu un segmentation fault que j'ai beaucoup de mal à comprendre.
En gros ce que j'ai :
Code:
1 2 3 4 5 6 7 8 9 10
| float load_avg[3];
float shiftfloat = (float)(1<<SI_LOAD_SHIFT);
struct sysinfo the_info;
sysinfo(&the_info);
load_avg[0] = ((float)the_info.loads[0]) / shiftfloat;
load_avg[1] = ((float)the_info.loads[1]) / shiftfloat;
load_avg[2] = ((float)the_info.loads[2]) / shiftfloat;
cout << "load_1:" << load_avg[0] << "\nload_5:" << load_avg[1] << "\nload_15:" << load_avg[2] << "\n"; |
Ce cout produit une Segmentation Fault. Je ne comprends pas du tout pourquoi mais si je ne passe pas par un tableau, le problème ne se pose pas :
Code:
1 2 3 4 5 6 7
| float a, b, c;
a = ((float)the_info.loads[0]) / shiftfloat;
b = ((float)the_info.loads[1]) / shiftfloat;
c = ((float)the_info.loads[2]) / shiftfloat;
cout << "load_1:" << a << "\nload_5:" << b << "\nload_15:" << c << "\n"; |
Note : Ce problème ne se pose pas sur toutes les machines, mais s'il arrive, c'est en permanence.
Bref, je voulais savoir si quelqu'un avait une explication concernant ceci ? ^^
Merci.