Thursday, January 7, 2010

Re: cygwin dll for gvim win32's libcall()?

Sergey Khorev 写道:
>> However, when I load the dll from within win32 gvim.exe, the gvim hangs up
>> To study the problem, I had made the dll as simple as "hello world". So the
>
> I hope you are not doing hello world in DllMain.
> I suspect the problem is not in Vim but rather with Cygwin. So I
> suggest to rectify your problem even further:
> 1) Create console win32 application which does NOT use Cygwin and uses
> your library with LoadLibrary, GetProcAddress. Test whether this works
> or not.
> 2) Create win32 windowed application and test it too.

I use cygwin to compile the dll because I have no experience in win32
programming, and I don't know anything about DllMain, LoadLibrary, etc.

My source is written in Linux, when compiled in Linux it generates
lib*.so. When compiled in Cygwin it generates a .dll. The source code
are the same, cmake does everything for me, there's no DllMain function
in the source code.

I know that cygwin compile Linux programs as .exe and it is a Windows
native executable and can be executed like any windows program.

I wonder whether the .dll from cygwin is a windows native dll or not.
the cygwin version of vim loads my .dll without problem while windows
gvim cannot load the .dll.

No comments: