0

I have a dynamic library A.dll which consumes a static library B.lib containing a function "int foo()". When I use dumpbin (on win32, vs2010) to view the symbols in dll - foo is not visible - Is that expected? or is it Microsoft specific? I tested this on linux and that is not the case on linux.

Thanks very much for your patience to read this through.

Kapil.

hanra
  • 21
  • 6

1 Answers1

0

Yes, this is expected. As far as the imported symbols are concerned, using dumpbin, you can see the so called Import Address Table and the Import Name Table which both (typically) exist as soon as at least one function is imported by an application (in your case A.dll). Since your application imports one function from a STATIC library (in your case B.lib), NO entry exist in the imports tables mentioned above for the functions used from B.lib. Once a library is STATICALLY linked to an application, its body (code) is part of the application. As well as the functions of your application are not visible using dumpbin, the functions of the static library are not visible to dumpbin!

mox
  • 6,084
  • 2
  • 23
  • 35