DLL can be truly used across linkers?
It is well known that DLL file can be used across different linkers, for example, a DLL created by VC can be linked with a VB application. In my context, I mean implicit linking.
I think without COM, there is no binary file standard. So, if there is no binary standard, how can a VB linker know which function it can invoke, which parameter it should provide and which address the invoked function resides (in order to invoke the function)? -- there must be some binary file level standard, right? besides COM?
I think this issues is solved by providing an accompany lib file with the DLL file in order to let other linker work with the DLL, but I am not sure about the internal reason. We know that an ordinary object file build by one compiler can not be used with other linkers -- but DLL overcomes this point -- because of the lib file?
thanks in advance,