| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
February 08, 2002 user-defined attributes | ||||
|---|---|---|---|---|
| ||||
Walter, is it possible to add user-defined attributes to the language - something that would conform to this in C:
#ifdef DLL
#define MYEXPORT __stdcall _export
#else
#define MYEXPORT __cdecl
#endif
...
MYEXPORT void foo() { }
It could look like this:
version (DLL)
attribute MyExport = extern(Windows) export;
else
attribute MyExport = extern(D);
...
attribute(MyExport) void foo() { }
Could be helpful in writing projects that can be either
static libs or DLLs, as well as porting such (zlib!) to
D.
| ||||
February 08, 2002 Re: user-defined attributes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Pavel Minayev | "Pavel Minayev" <evilone@omen.ru> wrote in message news:a41776$25eb$1@digitaldaemon.com... > Walter, is it possible to add user-defined attributes to the language - something that would conform to this in C: > > #ifdef DLL > #define MYEXPORT __stdcall _export > #else > #define MYEXPORT __cdecl > #endif > ... > MYEXPORT void foo() { } > > It could look like this: > > version (DLL) > attribute MyExport = extern(Windows) export; > else > attribute MyExport = extern(D); > ... > attribute(MyExport) void foo() { } > > Could be helpful in writing projects that can be either > static libs or DLLs, as well as porting such (zlib!) to > D. Why would functions in a DLL need a different calling convention? | |||
February 08, 2002 Re: user-defined attributes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter | "Walter" <walter@digitalmars.com> wrote in message news:a41imd$2pnk$2@digitaldaemon.com... > Why would functions in a DLL need a different calling convention? Because it might be called from languages other than D. | |||
February 08, 2002 Re: user-defined attributes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Pavel Minayev | "Pavel Minayev" <evilone@omen.ru> wrote in message news:a41jgh$2q47$1@digitaldaemon.com... > "Walter" <walter@digitalmars.com> wrote in message news:a41imd$2pnk$2@digitaldaemon.com... > > > Why would functions in a DLL need a different calling convention? > > Because it might be called from languages other than D. You can always just leave it in the C or Windows calling convention. | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply