Name Mangling

Function signatures that use polymorphic types are mangled differently in 32-bit and 64-bit builds. The following example shows a class member function declaration, followed by its mangled signature in the two builds:

class AcDbObjectId 
{
    Adesk::IntPtr asOldId () const;
    ...
};

32-bit mangling:

?asOldId@AcDbObjectId@@QBEJXZ
(public: long __thiscall AcDbObjectId::asOldId(void)const )

64-bit mangling:

?asOldId@AcDbObjectId32@@QEBA_JXZ
(public: __int64 __cdecl AcDbObjectId32::asOldId(void)const )