Autor Tópico: Compilador_C++  (Lida 9767 vezes)

Offline Calister

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Compilador_C++
« Online: 06 de Fevereiro de 2014, 15:26 »
Olá a todos
eu preciso de uma ajuda, neste momento eu estou usando o compilador g++ para a versão linux, eu preciso declarar vetores estáticos do tipo float. No meu programa eu preciso declarar 20 vetores float com 4.1x10 ^ 6 elementos cada. mas o compilador permite declarar 2.9x10 ^ 5 para cada vetor. é possível a utilização de mais memória  para vetor estatico com g++? Existe algum compilador para C++ (para linux) que  permiti a fazer isso?
Eu uso o Ubuntu 12.04 LTS, eu tenho um computador com (1,5 GB de memória RAM e outro com 3 GB de memória RAM), mas eu posso declarar apenas 2,9 x10 ^ 5 mesmo quando eu estou usando o dobro de memória RAM. Declaro as variáveis na área geral (antes do principal main() e das funções e classes), ou seja, fora da área de pilha.

Eu testei gfortran  (compilador Fortran) que permitem  declarar mais, vetores estáticos, mas porém meu código está em C ++! também eu não posso usar vetor dinâmico.

Por favor, alguém poderia me ajudar?

Obrigado !

Ricardo

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Compilador_C++
« Resposta #1 Online: 06 de Fevereiro de 2014, 16:04 »
Qual é a mensagem que aparece?

Offline Calister

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Re: Compilador_C++
« Resposta #2 Online: 06 de Fevereiro de 2014, 16:12 »
Aparece a seguinte mensagem quando rodo pelo terminal (quando rodo pelo code blocks é a mesma mensagem em inglês.)

Falha de segmentação (imagem do núcleo gravada)

Abs

Offline liegi

  • Usuário Ubuntu
  • *
  • Mensagens: 1
    • Ver perfil
Re: Compilador_C++
« Resposta #3 Online: 11 de Maio de 2014, 15:50 »
Sim, existe um compilador chamado codeblock. Você pode baixar gratuitamente no site do desenvolvedor.

Offline lpds25

  • Usuário Ubuntu
  • *
  • Mensagens: 136
    • Ver perfil
Re: Compilador_C++
« Resposta #4 Online: 11 de Maio de 2014, 17:07 »
quando usava Codeblocks também não conseguia compilar nada sem que me aparecesse esse erro...
solução: mudei para Eclipse, compila tudo à primeira...
atualmente no meu laptop programo com Eclipse para C/C++, Netbeans para Java (sei que o Eclipse também trabalha com Java, mas acho melhor separar...) e Android Studio para Android
Utilizador Ubuntu nº 29843

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.736
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Compilador_C++
« Resposta #5 Online: 16 de Maio de 2014, 19:25 »
Olá Calister,

Uma variável float, até onde me lembro, ocupava 6 bytes de memória.
Seu vetor ocuparia 6 * 4,1 * 10^6 = 2,46*10^7 ou aproximadamente 23,5MB, correto? Não me parece um tamanho tão gritante.

Você chegou a observar em que momento vc recebe a mensagem de falha de segmentação?
Tentou rodar seu programa no gdb, pra ver se consegue identificar o ponto de falha?

Em teoria, vc poderia adicionar a palavra chave "static" à declaração da variável, mas isso tem algumas implicações importantes no funcionamento do programa que vc precisa levar em conta antes de usar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D