Erro C3018

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Mensagem por Gilberto M Silva »

Não sei se é o caso dividir os prgs, pois o sistema é formado por apenas 35 prgs, com poucas linhas, uma méida de 400 linhas um pelo outro, que linkado, o exe fica com aproximadamente 550 kbats, esse sistema era em sammer87 estou mudando para clip5.2 com CDX.
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Mas veja: o erro é de "Too Many Symbols". Isso significa que o compilador está reclamando que a tabela de símbolos está com sua capacidade esgotada. Ou seja, provavelmente, um dos seus fontes tem uma quantidade de variáveis maior do que o compilador pode suportar para um único objeto. Cada variável tem seu nome e cada nome ocupada um espaço na tabela de símbolos. Por isso o próprio NG recomenda ou particionar o fonte culpado ou então aglomerar algumas variáveis numa matriz, por exemplo.
Um outro fator que acarreta esse tipo de erro é também quando um programa é do tipo monolítico, que tem um fonte chamando todos os demais pelo comando DO. Isso é típico da era Summer'87. O efeito disso é que todos os 35 fontes se tornam um só, o que acaba estourando a capacidade do compilador, porque os 35 PRGs se transformam num único OBJ. Se for isso, a solução não é o particionamento, mas a troca das procedures por funções, compilando os fontes isoladamente, um a um (switch /m do Clipper). Ou então, trocar variáveis por matrizes, que aglomerariam muitas variáves, como eu já disse.
Em suma: diminua a quantidade de símbolos (nomes de variáveis).
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Mensagem por Gilberto M Silva »

blz, vou fazer isso..
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
Avatar do usuário
Luciano Bonfim
Usuário Nível 3
Usuário Nível 3
Mensagens: 414
Registrado em: 23 Ago 2007 09:34
Localização: Rio de Janeiro / São Paulo
Contato:

Re: Erro C3018

Mensagem por Luciano Bonfim »

Giovanni escreveu:Estou tendo um erro C3018 - Too many symbols quando compilo meu programa, encontrei um site na internet que informa que é devido ao grande número de variaveis e por isso precisaria reduzir, entretando todas elas são necessárias...

Alguém sabe me ajudar como corrijo este problema?

Obrigado
Caro Amigo,

Existe uma maneira de vc aumentar o tamanho dessa área, veja em: http://www.caclipperwebsite.com/ghost.htm
Muito Obrigado,

Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Existe uma maneira de vc aumentar o tamanho dessa área, veja em: http://www.caclipperwebsite.com/ghost.htm
Eu vi essa página e não notei nenhuma dica que pudesse ajudar a aumentar o tamanho da tabela de símbolos do Clipper. Qual é exatamente essa dica? Pode explicar?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Mensagem por Gilberto M Silva »

Mister Maligno, resolvi, estou substituindo os prgs por funções e eliminando o "DO *.PRG", e o erro desapareceu.

T+ :)Pos
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Maravilha! Aliás, se serve de consolo: PROCEDURES é algo que só existe ainda por razões de compatibilidade. Usar funções é bem melhor. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder