Contents Up << >>

If name mangling was standardized, could I link code compiled with compilers from different compiler vendors?

Short answer: Probably not.

In other words, some people would like to see name mangling standards incorporated into the proposed C++ ANSI standards in an attempt to avoiding having to purchase different versions of class libraries for different compiler vendors. However name mangling differences are one of the smallest differences between implementations, even on the same platform. Here is a partial list of other differences:

  1. Number and type of hidden arguments to member functions.
  2. Assuming a vtable is used:
  3. How are classes laid out, including:
  4. Calling convention for functions, including:
  5. How is the run-time-type-identification laid out?
  6. How does the runtime exception handling system know which local objects need to be destructed during an exception throw?

  • Miscellaneous technical issues