elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Aumento de la memoria del Heap por desbordamiento. C++ Qt5
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Aumento de la memoria del Heap por desbordamiento. C++ Qt5  (Leído 2,400 veces)
DarkSun812

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Aumento de la memoria del Heap por desbordamiento. C++ Qt5
« en: 22 Marzo 2022, 21:28 pm »

     Muy buenas a todos, amigos. Hoy vengo con una nueva duda sobre c++ y es sobre la memoria del HEAP. Como ya sabran, existe la memoria de stack (local) y la memoria del heap (no se como describirla, solo se que se utiliza para no consumir la memoria local). Estoy haciendo una aplicacion en la que declaro 4 arrays de 1 dimension (vectores) y les estoy asignando un espacio en la memoria de 1.500.000 porque cada arreglo debe tener 1 millon y medio de elementos y hasta mas que luego se llenaran dentro de una funcion.
Código
  1.    float coordenadasx[cantidad];
  2.    float coordenadasy[cantidad];
  3.    float coordenadasz[cantidad];
  4.    float coordenadasi[cantidad];
  5.  

     la variable cantidad es una variable que contiene una funcion que lee un archivo y me retorna la cantidad de lineas que posee para luego establecer el tamaño de los arreglos y llenarlos en otra funcion. Cuando hago la depuracion o ejecuto la aplicacion me salta un erro que dice:
Código
  1. The inferior stopped because it received a signal from the operating system.
  2. Signal name:      SIGSEGV
  3. Signal meaning:  Segmentation fault
  4.  

     Yo manipulando la funcion puedo hacer que retorne mas o menos elementos, haciendo pruebas descubri que el maximo de elementos que me ha dejado integrar es de 1.200.000, cuando subo de ahi me suelta el error.

     Alguien sabe como aumentar la memoria del Heap?? O una manera de que este error no me salte, porque estaba leyendo y vi que QT5 tenia una especie de bloqueo cuando veia que a una variable se le asignaba mucha memoria, pero no se si se trate de eso.


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Aumento de la memoria del Heap por desbordamiento. C++ Qt5
« Respuesta #1 en: 22 Marzo 2022, 21:31 pm »

No estas usando memoria del heap, para eso tendrias que reservarla (usando new/malloc por ejemplo). Si esas variables son locales a una funcion/metodo estaran en la pila y de otra manera en alguna sección de datos del ejecutable.



En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
DarkSun812

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Aumento de la memoria del Heap por desbordamiento. C++ Qt5
« Respuesta #2 en: 23 Marzo 2022, 15:12 pm »

     Ya he solucionado el problema utilizando la libreria <vector>.
     A la hora de guardar los datos, en vez de declarar 4 arrays, declaro 4 vectores de la siguiente manera:
Código
  1. vector<float> coordenadax;
  2. vector<float> coordenaday;
  3. vector<float> coordenadaz;
  4. vector<float> coordenadai;
  5.  
     De esta manera al llenarlos dentro de la funcion, me permitio superar los 2 millones de datos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
TMediaPlayer Aumento incesable de Memoria
Programación C/C++
victorio++ 0 1,919 Último mensaje 10 Mayo 2011, 18:45 pm
por victorio++
obtener factorial y evitar desbordamiento de memoria con punteros
Programación C/C++
kikian94 8 7,111 Último mensaje 17 Noviembre 2013, 09:01 am
por kikian94
Ayuda con aumento memoria
Hardware
David1990 7 3,513 Último mensaje 16 Septiembre 2014, 23:10 pm
por David1990
Desbordamiento de memoria en el kernel de Linux permite elevar privilegios
Noticias
wolfbcn 0 1,211 Último mensaje 17 Marzo 2018, 01:55 am
por wolfbcn
Aumento de memoria RAM « 1 2 »
Hardware
B€T€B€ 11 4,207 Último mensaje 17 Mayo 2022, 22:59 pm
por B€T€B€
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines