Ho scritto una libreria DLL con un sacco di funzioni e le classi in Visual Studio 2010. Quando guardo il contenuto del file con:nomi delle funzioni DLL utilizzando Dumpbin.exe
dumpbin.exe /EXPORTS myDll.dll
ottengo lungo nomi delle funzioni con un qualche tipo di un puntatore a funzione posizione, che assomiglia a questo (seconda voce nel dll):
2 1 0001100A [email protected]@[email protected]@[email protected] = @ILT+5([email protected]@[email protected]@[email protected])
questo è in qualche modo difficile da leggere, ma ho visto "più bello" lista procedura/funzione da altri. dll-s, come questo:
141 8C 00002A08 PogoDbWriteValueProbeInfo
Come posso fare in modo che quella lista .dll sia così?
P.S .: il mio codice sorgente dll è simile al seguente:
namespace codecX
{
class codec
{
public:
static __declspec(dllexport) double Initialize(double a, double b);
...
Sei sicuro di voler esportare nomi senza intoppi? Se lo fai, non sarai in grado di utilizzare l'overloading delle funzioni. Sembra che tu stia esportando una classe C++. Stai esportando metodi di istanza, costruttori ecc. Oppure tutti i tuoi metodi sono statici? –
http://stackoverflow.com/questions/2804893/c-dll-export-decorated-mangled-names –
David H., sì, la mia intenzione era di esportare il formato leggibile dall'uomo. Perché? Ho bisogno di passare creato .dll ad altri colleghi e avere un formato leggibile è essenziale per una buona comprensione del codice sorgente e/o delle librerie scritte da qualcun altro. :) – TomiL