Mail Archives: cygwin/1997/11/26/05:38:59
Hi!
It seems to me, it's possible to use gcc compiler with msvc++ compiled
dlls. The def file for a dll must have the following form:
LIBRARY msvc_library
EXPORTS
gcc_mangled_name1=msvc_mangled_name1
gcc_mangled_name2=msvc_mangled_name2
....
I compiled a working demangler for msvc++ (download
ftp://ftp.microsoft.com/softlib/mslfiles/bsc200.exe, you'll need msvc to
use this library):
bash$ nm MFC40.LIB|sed -n '/^........ [T] /s/^........ [T]
//p'|./unmangle.exe
AFX_CLASSINIT::AFX_CLASSINIT(struct CRuntimeClass *)
AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)
AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()
AFX_MODULE_PROCESS_STATE::AFX_MODULE_PROCESS_STATE()
AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (*)(struct HWND__ *,unsigned
int,uns
igned int,long),unsigned long)
AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (*)(struct HWND__ *,unsigned
int,uns
igned int,long),unsigned long,int)
AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()
CAnimateCtrl::CAnimateCtrl()
CArchive::CArchive(class CFile *,unsigned int,int,void *)
CArchivePropExchange::CArchivePropExchange(class CArchive &)
CArchiveStream::CArchiveStream(class CArchive *)
CAsyncSocket::CAsyncSocket()
CBitmap::CBitmap()
CBitmapButton::CBitmapButton()
CBlobProperty::CBlobProperty(void *)
CBrush::CBrush(int,unsigned long)
CBrush::CBrush(unsigned long)
CBrush::CBrush(class CBitmap *)
CBrush::CBrush()
CButton::CButton()
CByteArray::CByteArray()
CCheckListBox::CCheckListBox()
....
Now we need a gcc-compatible mangler. Any ideas?
--
Sergey Okhapkin, http://www.lexa.ru/sos
Moscow, Russia
Looking for a job
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".
- Raw text -