Import libraries for MSVC++ compiled dlls
Sergey Okhapkin
sos@buggy.prospect.com.ru
Tue Nov 25 15:25:00 GMT 1997
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@cygnus.com" with one line of text: "help".
More information about the Cygwin
mailing list