よくある質問
このツールでは、FortranとC/C++両方のソースコードが指定されている際でも、共有ライブラリを構築できますか?
はい。混在したソースコードおよびオブジェクトファイルを扱うことができます。
このツールは、どのプラットフォーム用のライブラリを構築しますか?
サポートされているプラットフォームは、64-bit Windowsおよび64-bit Linuxです。
私の共有ライブラリは、デバッグまたはリリースバージョンですか?
生成される共有ライブラリは、リリースバージョンライブラリです。
C/C++/Fortranコードのシンタックスのサンプルテンプレートはどこから入手できますか?
- C/C++ ソースコード:
- <install>\Altair\<version>\hwsolvers\motionsolve\usersub\c_src
- Fortranソースコード:
- <install>\Altair\<version>\hwsolvers\motionsolve\usersub\f_src
- C/C++:
- ヘッダーファイルmsolvsub_c_include.h (<install>\Altair\<version>\hwsolvers\motionsolve\usersub\c_src\includeに存在)をコードでインクルードします。関数をエクスポートするには、キーワードCLINKAGE, DLLFUNCおよびSTDCALLを使用します。
#include " msolvsub_c_include.h" #include "stdlib.h" CLINKAGE DLLFUNC void STDCALL ARYSUB (int *id, double *time, double *par, int *npar, int *dflag, int *iflag, int *nvalue, double *value) { }
- Fortran
- Fortranシンタックスでは、上記と同じ関数を次のようにエクスポートできます:
SUBROUTINE ARYSUB (ID, TIME, PAR, NPAR, DFLAG, & IFLAG, NVALUE, VALUE) !DEC$ ATTRIBUTES DLLEXPORT :: ARYSUB
上記のコードでは、C/C++とFortranのシンタックスを使用して関数ARYSUBがエクスポートされます。
ソースファイルを選択する順序は重要ですか?
はい。これはある場合には重要になります。例えば、MODULESを定義するFortranソースコードを構築する際、定義済みモジュールの定義を含んだソースファイルを、それらのモジュールを参照するソースファイルより前に含めたい場合があるでしょう。
サポートされているIntel Fortranコンパイラーがインストールされていますが、Fortranファイルをコンパイルできません。何がいけないのでしょうか?
この構築ツールは、環境変数に依存してIntel Fortranコンパイラーのバージョンとマシン上の位置を検知します。環境変数 IFORT_COMPILERxx(xxはコンパイラーのバージョン - 10、11または12)がシステム上で正しく定義され、インストールされているバージョンを指しているようにします。