- 「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 プログラムのエラーの解消やモダナイゼーションを行うサービスを提供してます。 お気軽にお問い合わせください。 |


