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.
utilitário mingw pra libs
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
utilitário mingw pra libs
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/
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

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
utilitário mingw pra libs
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.
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
Marcos Antonio Gambeta