Hello Rafi2003,
__stdcall and __cdecl are two calling conventions available in CVI. When functions are called from your application, the arguments are placed in the stack in a particular order. The calling convention specifies whether the calling function or the function itself is responsible for cleaning up this stack. You can imagine a stack overflow situation occuring if both your application and the function expects the other to clean up the stack. More information on the two calling conventions can be found in the following
KnowledgeBase.
Regarding your second question, __declspec(dllimport) and __declspec(dllexport) are a few of the import/export qualifiers CVI supports. An import qualifier informs the compiler that the symbol is defined in a DLL. Declarations of variables imported from a DLL require import qualifiers, but function declarations do not.
An export qualifier is relevant only in a project for which you set the target type as Dynamic Link Library. The qualifier can be on the declaration or definition of the symbol, or both. The qualifier instructs the linker to include the symbol in the DLL import library.
More information about these two topics can be location in CVI Help under Programmer's Reference and in the following tutorial:
FAQ: Using Dynamic Link Libraries with LabWindows/CVI.
Thanks.
Wendy L
LabWindows/CVI Developer Newsletter