Como visualizar a lista de símbolos (funções, classes) em um arquivo .so no Linux?
Olá a todos! Sou novo em C++ e comecei a aprender sobre bibliotecas dinâmicas (.so) no Linux. Tenho uma biblioteca compilada a partir de vários arquivos. Quero verificar quais funções e classes ela exporta, ou seja, quais símbolos estão disponíveis para outros programas.
Problema: compilei minha biblioteca `libmylib.so` com g++, mas quando tento linkar com um programa de teste, o linker exibe erros "undefined reference". Suspeito que os nomes das funções estão sendo distorcidos (name mangling) ou que não as declarei corretamente como extern "C".
Exemplo de código que uso para compilar a biblioteca:
```cpp
// mylib.h
#pragma once
void hello();
int add(int a, int b);
```
```cpp
// mylib.cpp
#include "mylib.h"
#include
void hello() {
std::cout << "Hello from lib!" << std::endl;
}
int add(int a, int b) {
return a + b;
}
```
Compilo assim:
```bash
g++ -shared -fPIC mylib.cpp -o libmylib.so
```
Como posso agora visualizar quais símbolos