18.4 Windows/Visual C 5.0

Making and using a DLL consists of three major steps

  1. Writing the C/C++ code
  2. Generating the DLL
  3. Using DLL in XploRe


Let us consider a simple C program vecsum.c which sums up a vector:

#include "dll.h"

EXTERN int EXPORT sum (double *x, double *n, double *s)
{
  long i, nn = (long) *n;
  *s=0.0;
  for (i=0; i<nn; i++)
    *s = *s + *(x+i);

  return (0);
}


Note that the include file dll.h defines the symbols EXTERN and EXPORT in a proper way for the below mentioned compiler.


As a first step we create a project called vecsum project to generate a Windows DLL:

  1. choose from the menu File/New
  2. choose Win 32 Dynamic-Link Library
  3. enter a Project name e.g. vecsum
  4. enter a Path e.g. C:\vecsum
  5. press OK


The second step consists of generating the code and compiling it:

  1. open the new dialog from the menu Project/Add to Project/New
  2. choose C++ source code file
  3. enter under Filename the name vecsum
  4. in the editor window type now (or copy) the example code given above
  5. make sure that dll.h is in C:\vecsum
  6. save the file via the menu File/Save
  7. compile the DLL via the menu Build/Make vecsum.dll


To use the DLL in XploRe requires the following simple steps.

  1. Define the vector x and initialize the result s

    x=1:10 s=0
    

  2. Open the DLL for use in XploRe h= 41610 dlopen ("vecsum.dll")


    Note that XploRe needs to be able to find this library. From XploRe you can set the path for DLLs by

    41613 setenv ("xpl4dll","/your_absolute_path_to_the_dll")


    Alternatively you can give the absolute path within the 41616 dlopen command.

  3. Call the function sum from the DLL for x

    41619 dlcall ("sum",x, rows(x),s)


    As a result you should find s having the value 55 which is the sum for the numbers 1 to 10.