Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Module Definition Files

LabVIEW 8.5 Help
August 2007

NI Part Number:
371361D-01

»View Product Info

When you build a shared library, you configure LabVIEW to use the C calling convention in the .c source file you built with the Call Library Function Node. In contrast, you use the __stdcall calling convention when you call the Win32 API. When you build a shared library with __stdcall, you normally use a module definition (.def) file to export the functions in your shared library. In the absence of a .def file, __stdcall might truncate function names in an unpredictable pattern, so the actual function name would be unavailable to applications that call the shared library.

You can associate a .def file with a shared library. The .def file contains the statements for defining a shared library, such as the name of the shared library and the functions that it exports, as shown in the following example code:

LIBRARY myshared

       EXPORTS

              avg_num

The preceding code example demonstrates the following key requirements for .def files:

  • The only mandatory entries in the .def files are the LIBRARY statement and the EXPORT statement.
  • The LIBRARY statement must be the first statement in the file.
  • The name you specify in the LIBRARY statement identifies the library in the import library of the DLL.
  • The names you specify in the EXPORTS statement identify the functions that the DLL exports.
Note  Instead of a .def file, many Windows programmers use the LINK option in Project Settings of the Visual C++ compiler to obtain equivalent command-line options for most module definition statements.

Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit