freebsd
[Início] [Todas as Listas]

Re: [FUG-BR] Arvore binária erro de memoria no FreeBSD

From: Eder <ederbsd@xxxxxxxxx>
To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" <freebsd@xxxxxxxxxx>
Subject: Re: [FUG-BR] Arvore binária erro de memoria no FreeBSD
Date: Tue, 31 Oct 2006 11:02:55 -0300
Olá,

Como os nobres colegas já falaram, poste sempre o código todo, com o
erro do compilador se possível.

Se você para chutar alguma coisa, diria que você não está destruindo o
merge, então nesta parte do código você deveria faze-ló, e mais se não
está fazendo isso em algum outro ponto também dará problema em
qualquer outro OS.

E principalmente se você processando expressões do tipo "pós-fixa"
algo assim, por
exemplo:

(((74 10 -)32/) (23 17 +)x = 80

Elas possuem diferença, provavelmente sabe disso, tente detruir o
merge no final do processo assim.

init bitree_merge(BiTree *merge, BitTree *left, BiTree *right, const void *data)
{

bitree_init(merge, left->destroy);

if(bitree_ins_left (merge, NULL, data) !=0) {

/* Aqui da erro no merge quando executo erro de memoria full */
bitree_destroy(merge);

return -1;
}

OBS:
Quando retornar algo, não faça simplesmente "return", coloque o
parametro inteiro junto
você está trabalhando com C puro, não é um método de C++.

Att, Eder


On 10/31/06, Rogério Schneider <stockrt@xxxxxxxxx> wrote:
Manda a função bitree_ins_left() pq eh nela que está o erro.
Eu uso AVL e binary no FreeBSD/Linux sem problemas.

Att,
RS


On 10/31/06, Giovanni P. Tirloni <gpt@xxxxxxxxxxx> wrote:
> Cristiano Panvel wrote:
> > Uma pergunta, estou fazendo um algoritmo de arvore binária para
> > efetuar processamento de expressões, e funciona corretamente em Linux
> > e AIX mais no FreeBSD está dando erro nesta parte do código e não sei
> > o que pode ser.
> >
> >
> > init bitree_merge(BiTree *merge, BitTree *left, BiTree *right, const void 
*data)
> > {
> >
> > bitree_init(merge, left->destroy);
> >
> > if(bitree_ins_left (merge, NULL, data) !=0) {
> >
> > /* Aqui da erro no merge quando executo erro de memoria full */
> >
> > return;
> > }
> >
> > Já procurei isso em vários lugares, e não acho o erro.
>
>
>  No mínimo precisamos saber qual o erro e o pedaço de código que gera
> esse erro.
>
>
> --
> Giovanni P. Tirloni
> http://www.tirloni.org
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


--
Att,

Rogério Schneider
+55 (55) 9985 2127
+55 (55) 3332 5923
+55 (55) 3321 1535

MSN: stockrt@xxxxxxxxxxx
ICQ: 78778973
GTalk: stockrt@xxxxxxxxx
Skype: stockrt
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



--
Linux is for people who hate Windows,
BSD is for people who love UNIX"

<Anterior na Thread] Thread Atual [Próximo na Thread>