[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Qué tal...
El otro día estaba experimentando con C++ y la asignación de memoria...
cuando corro el programa que anexo, cuando se acaba la memoria marca un
"segmentation fault" y varias aplicaciones de GNOME que están corriendo
también marcan errores de segmentación... un problema bastante raro, yo
pensaba que el kernel de linux impedía que una aplicación afectara a las
demás.
Si en lugar de usar new uso malloc(), todo funciona perfectamente, tal
cual debe. No sé si sea error de egcs, mío, o del kernel, o una
combinación. A ver si me ayudan a aclarar esto.
--
A human being should be able to change a
nappy, plan an invasion, butcher a hog, conn a
ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the
dying, take orders, give orders, cooperate, act
alone, solve equations, analyse a new
problem, pitch manure, program a computer,
cook a tasty meal, fight efficiently, die
gallantly. Specialisation is for insects.
-- Robert Heinlein
Juan Pablo Zaldívar Carrillo
ITESM Campus Guadalajara
al665901 en academ01 gda itesm mx#include <unistd.h>
#include <stdlib.h>
#include <iostream>
int main()
{
const int ONE_K = 1024;
char *some_memory;
int size_to_allocate = ONE_K,
megs_obtained = 0,
ks_obtained = 0;
while (true) {
for (ks_obtained = 0; ks_obtained < 1024; ks_obtained++) {
some_memory = new char[size_to_allocate];
if (some_memory == 0)
exit(EXIT_FAILURE);
}
megs_obtained++;
cout << "Now allocated " << megs_obtained << " Megabytes." << endl;
}
exit(EXIT_SUCCESS);
}
-- Para desuscribirse, mande correo a: ayuda-unsubscribe en linux org mx Para comandos adicionales, envíelo a: ayuda-help en linux org mx