gfortran相关内容
我需要在Fortran中将参数从integer(kind=8)转换为integer(kind=4),有什么(简单的)方法可以做到这一点吗? 此参数是一个输入数字,如果此数字大于2^31-1(4字节整数的限制),程序将始终要求更小的数字(以便它可以“容纳”在这4个字节中),所以我认为这应该不是问题。 推荐答案 要创建任何类型的整数,请使用 result = int(sourc
..
考虑以下Fortran程序 program test_prg use iso_fortran_env, only : real64 use mpi_f08 implicit none real(real64), allocatable :: arr_send(:), arr_recv(:) integer :: ierr call MPI_Init(ierr)
..
我在 Fortran90 程序中有以下数据结构: TYPE derivedType字符(100)::名称=''整数 :: 类型 = 0真实(种类(1.0D0))::属性= 0.0END TYPE 派生类型类型(派生类型),可分配,维度(:)::arrayOfDerivedTypes 当我尝试在 GDB 中调试和打印值时: (gdb) p arrayOfDerivedTypes(1)%name
..
我在我的 Ubuntu 15.04 系统上安装了 gfortran.在编译 Fortran 代码时,DO 循环要求只接受整数参数,而不是实数值或变量.这包括循环变量和步骤表达式.为什么它也不能取真实值? 下面的程序摘自这里,小节的练习3.5 嵌套的do循环. 程序 xytab隐式无! 为从 1 到 2 的 x 值构建一个 z=x/y 表,并且!y 从 1 到 4,步长为 0.5实数 ::
..
这是主程序: 程序集成外部功能双精度函数,a , b, sum, h整数 n, 我实数参数(a = 0,b = 10,n = 200)h = (b-a)/n总和 = 0.0DO i = 1, nsum = sum+funct(i*h+a)结束做sum = h*(sum-0.5*(funct(a)+funct(b)))打印 *,总和包含结尾 下面是函数funct(x) 双精度函数函数(x)
..
我正在尝试在 Windows 8 上的 Code::Blocks 中执行 give fortran 代码 程序主程序写 (*,*) “嗨"停止结尾 我得到的错误是 G:\Study\Programs\bairstow.o:bairstow.f 对 `_gfortran_st_write' 的未定义引用G:\Study\Programs\bairstow.o:bairstow.f 未定义对
..
上下文 下面发布的玩具 Fortran 代码调用了两个指针函数.也就是说,两个函数都返回一个指针.事实上,它们都是数组指针.它们都试图做同样的事情,即返回一个整数数组指针,该指针引用一个具有三个元素 1、2 和 3 的整数数组.第一个函数使用指针赋值运算符 (=>) 将函数指针指向保存数据的可分配数组.第二个函数通过指针直接分配一块动态内存,用于存储数据.调用程序只打印返回数组的元素.
..
我在 Ubuntu (16.04) 中安装 Gfortran 后指向 f95.我在 gfortran 手册中看到可以为 f95 和转发提供 -std 选项.我从手册中看到的默认 -std 选项值是“gnu".如果我将 f95 用于 f90 代码,我不确定编译内部的含义. 如何将 gfortran 用于扩展名为 .for 的 Fortran 90 文件?我不想为 Fortran 90 代码使用
..
我的目标是使用可在 DO CONCURRENT 结构中使用的随机数编写一个纯函数.编译器似乎不允许这样做. mwe.f95:8:30:调用 init_seed ( )1错误:在 (1) 处对“init_seed"的子程序调用不是 PUREmwe.f95:9:36:调用 random_number ( y )1错误:在 (1) 处对内在“random_number"的子程序调用不是 PUREmwe
..
我(在我的理论物理数值方法课程中)编写了一个非常简单的程序,用于在维度 2 中进行随机游走.它是: 程序 random_walk隐式无整数,参数 :: Nwalker = 1000000整数,参数 :: Nstep = 100整数,参数 :: Nmeas = 10整数 :: posx, posy, move整数 :: is, im, iw真正的 :: start_time, stop_time双
..
我正在尝试编译我最近开始工作的项目,并被要求在 clang 而不是 gcc 中编译代码.该项目有一个CMake文件,我尝试使用 cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ../src 但是抛出了一个错误,我认为这是因为 clang 没有 Fortran 编译器,并且项目的一部分有 Fortran 代码.有没有办法让它
..
我的任务是更改 HPC 应用程序部分的精度,记住它严重依赖自动矢量化.因此,编译器在发生任何类型的浮点转换时通知我很有用(因为这可能会对性能产生严重影响). -Wconversion 标志听起来应该适合我的需要: -Wconversion 警告不同类型之间的隐式转换. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gfortran/War
..
我目前正在调试我的老板在 90 年代写的一些软件的子程序.在特定子例程的 do 循环中似乎发生了浮点异常: 16 irad=1,incmaxrr1=rr2rr2=rr2+rdivif(rr1.gt.rlimit) 转到 16如果(pts(irad).gt.0.0)那么discrm=(rmsden(mt,irad)/pts(irad))1 -((平均(mt,irad)**2)/(pts(irad)
..
问题:指令 openmp fortran77 的长列表 c$omp 并行默认(共享)私有(i,k,i1,i2,i3,i4,i5,$ i6,x0,y0,z0,vnx0,vny0,vnz0,qs0)c$omp 做要执行的任务c$omp 结束做c$omp 结束并行 我正在尝试使用 ifort 编译上述程序,它工作正常.我已经检查了串行版本,我得到了相同的结果 ifort -openmp -para
..
我最近从 SGI、Sun 工作站环境转移到了 Mac.SGI 和 Sun 带有 Fortran 编译器,所以我可能有 100 个小 f77 代码,这些代码是我多年来编写的,用于对模拟数据进行后处理和分析.我希望使用 gfortran 在我的 iMac 上运行这些代码.其中大部分都是非常简单的代码,但我无法编译和执行它们.我尝试从基础开始,并从 gfortran 帮助页面编写 Hello World
..
我是工作中的 Linux (CentOS 6.6) 服务器的非管理员用户.我通过 Windows 计算机上的终端程序登录.我的问题是 IT 对我升级 GCC/gfortran 感到不舒服,所以我只想从我的个人文件夹中运行它.他们声称最新的 yum(此操作系统版本的 devtoolset-3)将降级他们拥有的一些其他功能.反正它不是最新版本的 GCC. 我已经从 gfortran.com 下载
..
以下链接 https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/MATMUL.html 明确指出 gfortran 期望输入到 matmul 的矩阵的等级为 1 或 2.但是以下代码段无法编译: 程序草稿真实(种类=8)::A(10)=(/0,1,2,3,4,5,6,7,8,9/)真实(种类=8)::B(10)=(/0,1,2,3,4,5,6,7,8
..
我正在使用 GFortran 和 CodeBlocks,但我遇到了关于模块和多个文件的问题.我不断收到此错误: 致命错误:无法打开模块文件“mesh.mod"以在 (1) 处读取:没有这样的文件或目录 出于某种原因,GFortran 没有构建“mesh.mod"文件.当我将所有代码放在一个 .f90 文件中时,不会出现此问题. 下面是发生此错误的代码示例. main.f90 模块
..
我一直在使用 gfortran 的 -fdefault-real-8 选项来自动提升在程序到双精度,连同任何常数,例如 1.23.如果我想切换回单精度,我只需要删除该选项并重新编译,而无需更改源代码中的单个字符. 我开始使用 ISO_FORTRAN_ENV 模块,因为它允许我使用 INPUT|OUTPUT|ERROR_UNIT 等常量,以及 IOSTAT_END 和 IOSTAT_EOR 和
..
我有一些旧的(~1995 年)遗留 fortran 代码,这些代码是用 g77 编译器编译的,但在 gfortran 上失败了.问题出在以下几行(不兼容的类型转换,字符到整数): 整数 CKYAN数据 CKYAN/'KYAN'/ 变量 CKYAN 仅作为触发器使用一次: IF(IWVTX.EQ.CKYAN)THEN调用 FDCVERTEXSWTCHTOKYAN()万一 整数 IWVTX 从
..