lines 8-67 of file: include/cppad/utility/link_dll_lib.hpp

{xrst_begin link_dll_lib}
{xrst_spell
   linker
   msg
}

Link a Dynamic Link Library
###########################

Syntax
******

| # ``include <cppad/utility/link_dll_lib.hpp>``
| ``link_dll_lib`` *dll_linker* ( *dll_file* , *err_msg* )
| *fun_ptr* = *dll_linker* ( *function_name* , *err_msg* )
|


Prototype
*********
{xrst_literal
   // BEGIN_PROTOTYPE
   // END_PROTOTYPE
}

dll_linker
**********
Is the dynamic link object that holds an in memory version of the library,

err_msg
*******
If *err_msg* is non-empty, it contains an error message
for the corresponding operation.

dll_file
********
Is the file containing the dynamic link library.

function_name
*************
Is the name of an external entry point in the dll.

fun_ptr
*******
Is a ``void*`` version of a pointer the function corresponding to
*function_name* .

Warning !!
==========
*fun_ptr* becomes invalid when the *dll_linker* destructor is called.

{xrst_toc_hidden
   example/utility/dll_lib.cpp
}
Example
*******
The file :ref:`dll_lib.cpp-name` contains an example and test of
``link_dll_lib`` .

{xrst_end link_dll_lib}
