jed-users mailing list

[2005 Date Index] [2005 Thread Index] [Other years]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]

Re: Installer for WJED available


SANGOI DINO <SANGOID@xxxxxxxxxxxxxxxxx> wrote:
>I'm also trying to be able to use modules on windows. The runtime =
>linking is
>very easy: Windows has functions that map mostly 1:1 to Linux dlopen() =
>and
>friends.

That's good to hear.

>The problem is that Windows by default does not export symbols if not
>explicity requested. You can request exporting using =
>'__declspec(dllexport)'
>on the function declaration, or creating a .def file containing all the
>exported symbols, and passing this file to the linker.

The source contains two types of symbols: those that are in the public
API with names of the form SL* and those that are private to the
library _pSL*.  Would both need to be give the __declspec(dllexport)
attribute?

How does this work?  Is it sufficient to do something like:

#ifdef __WIN32__
#define EXPORT __declspec(dllexport)
#else
#define EXPORT
#endif

and then change declarations in slang.h to, e.g.,

  EXPORT int SLang_get_error ();

??  Or must this be put in the source code where SLang_get_error is
actually defined?  And should the private symbols (_pSL*) get the same
treatment?  I will probably move some such as _pSLvsnprintf to the
public API.

What changes would be required to makefile.all to create such a dll?

Thanks,
--John

--------------------------
To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
the word "unsubscribe" in the message body.
Need help? Email <jed-users-owner@xxxxxxxxxxx>.


[2005 date index] [2005 thread index]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]