PROTO Procedure

LINK Statement

Specifies the name, and optionally the path, of the load module that contains your functions.

Syntax

Required Argument

load-module
specifies the load module that contains your functions. You can add more LINK statements to include as many libraries as you need for your prototypes. Load-module can have the following forms, depending on your operating environment:
'c:\mylibs\xxx.dll';
'c:\mylibs\xxx';
'/users/me/mylibs/xxx';
Tip:Full pathname specification is the safest and recommended way to link your modules with the PROTO procedure.

Optional Argument

NOUNLOAD
specifies that selected libraries remain loaded when the SAS session ends.

Details

You do not need to specify your module's extension. SAS loads your module with the extension that is specific to your operating environment.
All functions must be declared externally in your load module so that SAS can find them. For most platforms, external declaration is the default behavior for the compiler. However, many C compilers do not export function names by default. The following examples show how to declare your functions for external loading for most PC compilers:
_declspec(dllexport) int myfunc(int, double);
_declspec(dllexport) int price2(int a, double foo);