$ V ='F$VERIFY(0) $ ! $ ! This command procedure demonstrates how to declare $ ! universal symbols using a symbol vector on an Alpha system. $ ! $ WRITE SYS$OUTPUT " Creating the source files..." $ ! $ ! Create the main program source file $ ! $ CREATE MYTEST.C #include int myadd (int, int); main() { int num1, num2, result; num1 = 5; num2 = 6; result = myadd( num1, num2 ); printf("Result is: %d\n", result); } $ ! $ ! Create the shareable image source file $ ! $ CREATE MYMATHROUTS.C int myadd(value_1, value_2) int value_1; int value_2; { int result; result = value_1 + value_2; return( result ); } int mysub(value_1,value_2) int value_1; int value_2; { int result; result = value_1 - value_2; return( result ); } int mymul( value_1, value_2 ) int value_1; int value_2; { int result; result = value_1 * value_2; return( result ); } int mydiv( value_1, value_2 ) int value_1; int value_2; { int result; result = value_1 / value_2; return( result ); } $ ! $ SET VERIFY $ ! $ ! Compile the source files $ ! $ cc/lis/mach mytest.c,mymathrouts.c $ ! $ ! Create the shareable image $ ! $ LINK/SHARE/MAP/FULL MYMATHROUTS.OBJ, SYS$INPUT/OPT gsmatch=lequal,1,1000 symbol_vector=(myadd=procedure,- mysub=procedure,- mymul=procedure,- mydiv=procedure) $ ! $ ! Create the main image, linking against the shareable image $ ! $ LINK/MAP/FULL MYTEST.OBJ,SYS$INPUT/OPTIONS MYMATHROUTS.EXE/SHARE $ ! $ ! To run this image, define a logical name for the shareable $ ! image so it does not need to be moved to SYS$SHARE $ ! $ ! DEFINE MYMATHROUTS mydiskname:[directory]MYMATHROUTS.EXE $ ! $ ! and then run the test program as follows: $ ! $ ! RUN MYTEST $ ! $ V = 'F$VERIFY(V) $ EXIT