Solved

DLLEXPORT name decoration and varargs

Posted on 1999-01-18
2
913 Views
Last Modified: 2008-03-10
What is the name decoration applied to a function that such as:

#define DLLEXPORT __declspec(dllexport)
#define STDCALL __stdcall
typedef   unsigned char     text;
typedef   unsigned short    ub2;
typedef            short    sb2;
typedef   unsigned long     ub4;
typedef            long     sb4;

sb4 DLLEXPORT STDCALL hdSetRow(HOSTDATA *hd,ub4 row,ub4 numargs,...)
sb4 DLLEXPORT STDCALL hdSetCol(HOSTDATA *hd,ub4 row,ub4 col,void *buf,ub4 bloblen)

I'm trying to create a .def file with linker statements such as:

LIBRARY fmloci
EXPORTS hdSetRow = _hdSetRow   <-- What goes here?
EXPORTS hdSetCol = _hdSetCol@20
0
Comment
Question by:zebada
2 Comments
 
LVL 15

Accepted Solution

by:
Tommy Hui earned 100 total points
ID: 1184488
Standard calls do not support variable arguments. You will need to either change your hdSetRow to not use variable arguments, or to use __cdecl.
0
 
LVL 6

Author Comment

by:zebada
ID: 1184489
Thanks a bunch,
(That was quick, less than five minutes)
I'm posting another question....

0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question