diff --git a/chapters/functions.tex b/chapters/functions.tex index bd31fc21d..5ff770f86 100644 --- a/chapters/functions.tex +++ b/chapters/functions.tex @@ -2442,30 +2442,31 @@ \subsection{Annotations for External Libraries and Include Files}\label{annotati end MyExternalFunctions; \end{lstlisting} Directory structure: +{\upshape \begin{tabbing} \hspace{15em}\=\hspace{1em}\=\kill \filename{ExternalFunctions}\\ -\quad\filename{package.mo} \>-- \>\emph{Modelica code from above}\\ +\quad\filename{package.mo} \>-- \>Modelica code from above\\ \quad\filename{Resources}\\ -\quad\quad\filename{Include} \>-- \>\emph{Include files}\\ -\quad\quad\quad\filename{ExternalFunc1.h} \>-- \>\emph{C header file}\\ -\quad\quad\quad\filename{ExternalFunc2.h} \>-- \>\emph{C header file}\\ -\quad\quad\quad\filename{ExternalFunc3.c} \>-- \>\emph{C source file (not ideal)}\\ -\quad\quad\filename{Library} \>-- \>\emph{Object libraries for different platforms}\\ +\quad\quad\filename{Include} \>-- \>Include files\\ +\quad\quad\quad\filename{ExternalFunc1.h} \>-- \>C header file\\ +\quad\quad\quad\filename{ExternalFunc2.h} \>-- \>C header file\\ +\quad\quad\quad\filename{ExternalFunc3.c} \>-- \>C source file (not ideal)\\ +\quad\quad\filename{Library} \>-- \>Object libraries for different platforms\\ \quad\quad\quad\filename{win32}\\ -\quad\quad\quad\quad\filename{ExternalLib1.lib} \>-- \>\emph{Static link library for VisualStudio}\\ -\quad\quad\quad\quad\filename{ExternalLib2.lib} \> \>\emph{statically linking the dynamic link library}\\ -\quad\quad\quad\quad\filename{ExternalLib2.dll} \>-- \>\emph{Dynamic link library (with manifest)}\\ +\quad\quad\quad\quad\filename{ExternalLib1.lib} \>-- \>Static link library for VisualStudio\\ +\quad\quad\quad\quad\filename{ExternalLib2.lib} \> \>statically linking the dynamic link library\\ +\quad\quad\quad\quad\filename{ExternalLib2.dll} \>-- \>Dynamic link library (with manifest)\\ \quad\quad\quad\filename{linux32}\\ -\quad\quad\quad\quad\filename{libExternalLib1.a} \>-- \>\emph{Static link library}\\ -\quad\quad\quad\quad\filename{libExternalLib2.so} \>-- \>\emph{Shared library}\\ -\quad\quad\filename{Source} \>-- \>\emph{Sources for library}\\ -\quad\quad\quad\filename{Func1.c} \>-- \>\emph{C source for \filename{ExternalLib1.lib}}\\ -\quad\quad\quad\filename{Func2.c} \>-- \>\emph{C source for \filename{ExternalLib2.lib}}\\ -\quad\quad\quad\filename{HelperFunc.c} \>-- \>\emph{C source also included in \filename{ExternalLib2.lib}}\\ +\quad\quad\quad\quad\filename{libExternalLib1.a} \>-- \>Static link library\\ +\quad\quad\quad\quad\filename{libExternalLib2.so} \>-- \>Shared library\\ +\quad\quad\filename{Source} \>-- \>Sources for library\\ +\quad\quad\quad\filename{Func1.c} \>-- \>C source for \filename{ExternalLib1.lib}\\ +\quad\quad\quad\filename{Func2.c} \>-- \>C source for \filename{ExternalLib2.lib}\\ +\quad\quad\quad\filename{HelperFunc.c} \>-- \>C source also included in \filename{ExternalLib2.lib}\\ \filename{MyExternalFunctions}\\ \quad\filename{package.mo}\\ -\end{tabbing} +\end{tabbing}} Note that calling the function \lstinline!MyExternalFunctions.ExternalFunc1! will use the header and library files from \lstinline!ExternalFunction!, the \lstinline!ExternalFunctions.Example! will not use \filename{ExternalFunc3.c}, and one library file may contain multiple functions.