- 「KIND 値 (*) が有効な表現方法ではありません」というエラーが出てコンパイルに通りません。 [答え]
- 古い Fortran プログラム(レガシーコード)がコンパイルに通りません。 [答え]
- 編集記述子 $(改行抑止)はサポートしていないのですか? [答え]
- CDABS(A)、DCMPLX(X,Y)、DCONJG(Z)、DIMAG(Z)、DREAL(Z) はどうすれば利用できますか? [答え]
- 関数 getarg はありますか? [答え]
- 関数 getenv はありますか? [答え]
- 関数 flush はありますか? [答え]
- 関数 system はありますか? [答え]
- 手続(関数、サブルーチン)fdate がコンパイルに通りません。 [答え]
- サブルーチン idate がコンパイルに通りません。 [答え]
- 関数 dtime や etime がコンパイルに通りません。 [答え]
- Fortran の組込み関数(例えば、CDEXP)がコンパイルに通りません。 [答え]
- 「入力バッファにおいてレコードが長すぎます」または「出力においてバッファオーバーフローが発生しました」というエラーはどういう意味ですか? [答え]
- 「実行時エラー: *** 算術例外: 浮動小数ゼロ除算 - 終了します」というエラーが出て実行が途中で止まります。 [答え]
- 「変数 ** はSAVE属性を指定するには大きすぎます(*********** バイト)」というエラーが出てコンパイルに通りません。 [答え]
- 「... R_X86_64_PC32 against symbol ...」というリンクエラーが出てビルドに通りません。 [答え]
- 「このアプリはお使いの PC では実行できません」というメッセージが出てプログラムが実行できません。 [答え]
- 自力でエラーを解決することができません。エラーを解消するサービスはありますか? [答え]
![]() |
関数 getarg はありますか? |
![]() |
はい、Fortran Builder(nAG Fortran コンパイラ)は多くの POSIX システムコールを独自の組込みモジュールで提供しています。
しかしながら、Fortran 標準の観点からは、Fortran 2003 から導入された組込みサブルーチン get_command_argument の利用が推奨されます。 program main implicit none integer i character (len=256) arg do i = 0, command_argument_count() call get_command_argument(i, arg) print *, trim(arg) end do end program |
![]() |
関数 getenv はありますか? |
![]() |
はい、Fortran Builder(nAG Fortran コンパイラ)は多くの POSIX システムコールを独自の組込みモジュールで提供しています。
しかしながら、Fortran 標準の観点からは、Fortran 2003 から導入された組込みサブルーチン get_environment_variable の利用が推奨されます。 program environment_example ! ! This program displays the values of the environment variables FRED and USERNAME ! (if they exist). ! implicit none call show('FRED') call show('USERNAME') contains subroutine show(name) character(*), intent(in) :: name character(:), allocatable :: value integer len, status intrinsic get_environment_variable call get_environment_variable(name, status=status, length=len) if (status == 1) then print *, 'Environment variable "', name, '" does not exist.' else if (status /= 0) then print *, 'Unexpected status', status, 'for environment variable "', name, '"' else allocate(character(len) :: value) call get_environment_variable(name, value=value) print *, 'The value of environment variable "', name, '" is "', value, '".' end if end subroutine end program |
![]() |
関数 flush はありますか? |
![]() |
はい、Fortran Builder(nAG Fortran コンパイラ)は多くの POSIX システムコールを独自の組込みモジュールで提供しています。
しかしながら、Fortran 標準の観点からは、Fortran 2003 から導入された flush 文の利用が推奨されます。 program slow_dots ! ! This program prints 10 dots, one per second, then finishes. ! use iso_fortran_env, only : output_unit implicit none integer i do i = 1, 10 write (*, '(a)', advance='no') '.' call delay flush (output_unit) end do print *, 'Done.' contains subroutine delay integer cps,start,now intrinsic system_clock call system_clock(count=start, Count_Rate=cps) if (start == -huge(start)) stop 'No clock.' do call system_clock(count = now) if (now < start .or. now >= start + cps) exit end do end subroutine end program |
![]() |
関数 system はありますか? |
![]() |
はい、Fortran Builder(nAG Fortran コンパイラ)は多くの POSIX システムコールを独自の組込みモジュールで提供しています。
しかしながら、Fortran 標準の観点からは、Fortran 2008 から導入された組込みサブルーチン execute_command_line の利用が推奨されます。 program main implicit none call execute_command_line('echo Hello World') end program |
![]() |
自力でエラーを解決することができません。エラーを解消するサービスはありますか? |
![]() |
有償のサービスとなりますが、古い Fortran プログラムのエラーの解消やモダナイゼーションを行うサービスを提供してます。 お気軽にお問い合わせください。 |