This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Import libraries for MSVC++ compiled dlls


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".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]