LIB - "puxar" só funções usadas

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

LIB - "puxar" só funções usadas

Mensagem por JoséQuintas »

Existe alguma opção pra isso, é bug hmk2, ou é normal da mingw?

Por exemplo, tenho lá na lib a função Minhoca(); RETURN NIL
E tenho a função Formiga();Tatu(); RETURN NIL

Se eu usar a função Minhoca(), queria só essa função.
Mas se vier a Formiga() junto, vai acabar exigindo a Tatu() também.

Tenho a impressão de que isso é um problema gerado pelo HBMK2, mas não tenho certeza.
Alguém sabe dizer?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

LIB - "puxar" só funções usadas

Mensagem por marcosgambeta »

Cada .prg gera um arquivo .obj. Um arquivo .lib é um aglomerado de arquivos .obj.

Então, se um .prg tem 10 funções e se torna um arquivo .obj, ele vai ser usado inteiro mesmo que você use apenas uma das 10 funções.

Na criação de bibliotecas, costumo seguir estas regras:

. uma função por .prg

. uma classe por .prg

- no caso de funções que trabalham juntas (uma depende da outra), coloco no mesmo .prg
Atenciosamente,
Marcos Antonio Gambeta
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

LIB - "puxar" só funções usadas

Mensagem por JoséQuintas »

Pois é... descobri aqui.
É que isso aconteceu depois de um problema antigo do HBMK2.
Ao remover alguma coisa da LIB, precisa recriar tudo, às vezes até apagando todos os temporários.
Não foi esse o problema agora, mas como foi em seguida, pareceu relacionado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

LIB - "puxar" só funções usadas

Mensagem por asimoes »

Eu sempre faço -rebuild para compilar todos os fontes mesmo que eu tenha modificado somente 1, inclusive nas libs
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

LIB - "puxar" só funções usadas

Mensagem por JoséQuintas »

É incrível, mas nem assim resolve o problema, só apagando mesmo.
Alguma vez já retirou módulo da LIB ao invés de acrescentar?
Até mesmo o HBX fica errado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

LIB - "puxar" só funções usadas

Mensagem por asimoes »

Alguma vez já retirou módulo da LIB ao invés de acrescentar?
Nunca precisei fazer isso.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder