Any generic compiler may be used to compile a DLL (dynamic link library) which may be linked into Flexcom. When you invoke a user subroutine option, you must have written the relevant source code, and compiled it into a DLL, before you perform the actual Flexcom analysis. Note also that there are standard templates provided in the Flexcom installation folder which illustrate how to create DLLs.
When you specify the name of the DLL file, Flexcom loads the DLL and searches for the subroutine that was embedded into the DLL when it was compiled. Once Flexcom locates the subroutine, the subroutine is dynamically loaded into the Flexcom analysis module executable. The analysis then proceeds. At run-time the user-subroutine is called once for every solution iteration. The call is located just prior to the solution of the finite element equations of motion, where you have access to all the assembled matrices and constituent variables.
Finally, when the analysis is completed the temporary Flexcom executable is deleted. Note that if you use the facility, then the operation is completely automatic and transparent to you, and requires no intervention by you at runtime in compiling or linking the program.