gfortranを使用してコードをコンパイルしようとしています。サブルーチンplumed_f_gcmd
は私が何らかの問題を抱えている場所です。ここでは、コードサブルーチンの引数リストに構文エラーがあります
call plumed_f_gcmd("setMDTimeUnits"//char(0),timeUnits)
call plumed_f_gcmd("setPlumedDat"//char(0),"plumed.dat"//char(0))
call plumed_f_gcmd("setLogFile"//char(0),"PLUMED.OUT"//char(0))
call plumed_f_gcmd("setNatoms"//char(0),natms)
call plumed_f_gcmd("setMDEngine"//char(0),"dlpoly1.90"//char(0))
の作品があるコンパイラは、次のエラーがスローされます:すべての
call plumed_f_gcmd("setPlumedDat"//char(0),"plumed.dat"//char(0
1
Error: Syntax error in argument list at (1)
call plumed_f_gcmd("setMDEngine"//char(0),"dlpoly1.90"//char(0)
1
Error: Syntax error in argument list at (1)
まず私はかなりサブルーチンで、第二の入力は一回数とすることができる方法を理解していません一度文字列ですか? '//char(0)'
は何とか文字列を別のデータ型に変更しますか?誰かがこれを私に説明してもらえますか?
私の2番目の質問は、3行目(PLUMED.OUT)の場合でもエラーが発生しない理由です。
どのようにCとC++ラッパーも関係していますが、わかりません。
void plumed_f_gcmd(char*key,void*val){
plumed_gcmd(key,val);
}
許可された行の長さを超えているように見えます。これは固定形式のソース(ファイル拡張子/コマンドラインは何ですか?)を意味しますか? – francescalus
ここでの固定形式では、72桁目以降の文字は無視されます。 – Gilles
はい、LRiOの変更は破壊的です。私はそれらを元に戻しています。 – SergeyA