utilitário mingw pra libs

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

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

utilitário mingw pra libs

Mensagem por JoséQuintas »

1. These are some of the commands that I noted to manipulate library in the course of my studying it:

list object file names: ar -t <lib>

list public symbols within object files: nm -A <lib>

insert object file:ar r <lib> <obj>

delete obj from lib: ar d <lib> <obj>

extract obj without deleting: ar x <lib> <obj>

add obj and create lib: ar rcs <lib> <obj>

O utilitário ar faz o caminho de ida e volta, pode juntar os obj pra gerar lib, ou pode desmontar a lib e gerar os obj
lembrando:
.a equivale ao .lib
.o equivale ao .obj

Não lembro agora, nem mesmo se é com AR, mas tem como renomear funções existentes
É interessante, pra evitar mensagem de funções duplicadas, por exemplo.

Lembrando também, mais fácil exemplificar com harbour.

Você tem lá um fonte com várias funções, isso gera um OBJ.
Na hora de linqueditar, esse OBJ vai inteiro, com todas as funções.
É por isso que às vezes acusa função duplicada, porque justamente as funções que vão junto podem já existir.

É normal, por exemplo, algumas libs terem a ERRORSYS.PRG e forçarem o uso dela, com uma função adicional no mesmo fonte.

E por aí vai, são 1001 utilidades.
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

utilitário mingw pra libs

Mensagem por marcosgambeta »

José,

Obrigado por compartilhar estas informações.

Para consultas, também é possível abrir arquivos .a e .lib (Visual C++) com o 7zip. Abrem como se fossem arquivos compactados.
Atenciosamente,
Marcos Antonio Gambeta
Responder