gfortran相关内容

如何从一个Fortran整型转换成一个更小的整型?

我需要在Fortran中将参数从integer(kind=8)转换为integer(kind=4),有什么(简单的)方法可以做到这一点吗? 此参数是一个输入数字,如果此数字大于2^31-1(4字节整数的限制),程序将始终要求更小的数字(以便它可以“容纳”在这4个字节中),所以我认为这应该不是问题。 推荐答案 要创建任何类型的整数,请使用 result = int(sourc ..
发布时间:2022-04-12 19:30:07 其他开发

Fortran DO 循环,警告仅使用整数

我在我的 Ubuntu 15.04 系统上安装了 gfortran.在编译 Fortran 代码时,DO 循环要求只接受整数参数,而不是实数值或变量.这包括循环变量和步骤表达式.为什么它也不能取真实值? 下面的程序摘自这里,小节的练习3.5 嵌套的do循环. 程序 xytab隐式无! 为从 1 到 2 的 x 值构建一个 z=x/y 表,并且!y 从 1 到 4,步长为 0.5实数 :: ..
发布时间:2022-01-14 10:22:11 其他开发

Fortran 指针函数:为什么此代码的行为取决于函数调用的顺序?

上下文 下面发布的玩具 Fortran 代码调用了两个指针函数.也就是说,两个函数都返回一个指针.事实上,它们都是数组指针.它们都试图做同样的事情,即返回一个整数数组指针,该指针引用一个具有三个元素 1、2 和 3 的整数数组.第一个函数使用指针赋值运算符 (=>) 将函数指针指向保存数据的可分配数组.第二个函数通过指针直接分配一块动态内存,用于存储数据.调用程序只打印返回数组的元素. ..
发布时间:2022-01-14 10:18:42 其他开发

如何将 gfortran 用于带有 .for 文件扩展名的 Fortran 90?

我在 Ubuntu (16.04) 中安装 Gfortran 后指向 f95.我在 gfortran 手册中看到可以为 f95 和转发提供 -std 选项.我从手册中看到的默认 -std 选项值是“gnu".如果我将 f95 用于 f90 代码,我不确定编译内部的含义. 如何将 gfortran 用于扩展名为 .for 的 Fortran 90 文件?我不想为 Fortran 90 代码使用 ..
发布时间:2022-01-14 10:18:15 其他开发

我无法理解的 fortran 计时问题

我(在我的理论物理数值方法课程中)编写了一个非常简单的程序,用于在维度 2 中进行随机游走.它是: 程序 random_walk隐式无整数,参数 :: Nwalker = 1000000整数,参数 :: Nstep = 100整数,参数 :: Nmeas = 10整数 :: posx, posy, move整数 :: is, im, iw真正的 :: start_time, stop_time双 ..
发布时间:2022-01-14 10:16:43 其他开发

使用 clang 和 gfortran 编译

我正在尝试编译我最近开始工作的项目,并被要求在 clang 而不是 gcc 中编译代码.该项目有一个CMake文件,我尝试使用 cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ../src 但是抛出了一个错误,我认为这是因为 clang 没有 Fortran 编译器,并且项目的一部分有 Fortran 代码.有没有办法让它 ..
发布时间:2022-01-14 10:16:19 C/C++开发

我如何让 gfortran 或 ifort 告诉我它何时将 RE​​AL(4) 隐式提升为 REAL(8)?

我的任务是更改 HPC 应用程序部分的精度,记住它严重依赖自动矢量化.因此,编译器在发生任何类型的浮点转换时通知我很有用(因为这可能会对性能产生严重影响). -Wconversion 标志听起来应该适合我的需要: -Wconversion 警告不同类型之间的隐式转换. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gfortran/War ..
发布时间:2022-01-14 10:15:57 其他开发

使用 gfortran 无法在 Mac 上编译 Fortran 代码

我最近从 SGI、Sun 工作站环境转移到了 Mac.SGI 和 Sun 带有 Fortran 编译器,所以我可能有 100 个小 f77 代码,这些代码是我多年来编写的,用于对模拟数据进行后处理和分析.我希望使用 gfortran 在我的 iMac 上运行这些代码.其中大部分都是非常简单的代码,但我无法编译和执行它们.我尝试从基础开始,并从 gfortran 帮助页面编写 Hello World ..
发布时间:2022-01-14 10:10:36 其他开发

以用户身份在 Linux 中安装 gfortran

我是工作中的 Linux (CentOS 6.6) 服务器的非管理员用户.我通过 Windows 计算机上的终端程序登录.我的问题是 IT 对我升级 GCC/gfortran 感到不舒服,所以我只想从我的个人文件夹中运行它.他们声称最新的 yum(此操作系统版本的 devtoolset-3)将降级他们拥有的一些其他功能.反正它不是最新版本的 GCC. 我已经从 gfortran.com 下载 ..
发布时间:2022-01-14 10:10:20 其他开发

matmul 内在函数的 Fortran 数组排名

以下链接 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 ..
发布时间:2022-01-14 10:09:12 其他开发

模块和多个文件的 GFortran 和 CodeBlocks 问题

我正在使用 GFortran 和 CodeBlocks,但我遇到了关于模块和多个文件的问题.我不断收到此错误: 致命错误:无法打开模块文件“mesh.mod"以在 (1) 处读取:没有这样的文件或目录 出于某种原因,GFortran 没有构建“mesh.mod"文件.当我将所有代码放在一个 .f90 文件中时,不会出现此问题. 下面是发生此错误的代码示例. main.f90 模块 ..
发布时间:2022-01-14 10:09:06 其他开发

ISO_FORTRAN_ENV 或 -fdefault-real-8 将实数提升为双精度

我一直在使用 gfortran 的 -fdefault-real-8 选项来自动提升在程序到双精度,连同任何常数,例如 1.23.如果我想切换回单精度,我只需要删除该选项并重新编译,而无需更改源代码中的单个字符. 我开始使用 ISO_FORTRAN_ENV 模块,因为它允许我使用 INPUT|OUTPUT|ERROR_UNIT 等常量,以及 IOSTAT_END 和 IOSTAT_EOR 和 ..
发布时间:2022-01-14 10:08:57 其他开发

“数据INT/'字符串'/"使用 gfortran 编译时的问题

我有一些旧的(~1995 年)遗留 fortran 代码,这些代码是用 g77 编译器编译的,但在 gfortran 上失败了.问题出在以下几行(不兼容的类型转换,字符到整数): 整数 CKYAN数据 CKYAN/'KYAN'/ 变量 CKYAN 仅作为触发器使用一次: IF(IWVTX.EQ.CKYAN)THEN调用 FDCVERTEXSWTCHTOKYAN()万一 整数 IWVTX 从 ..
发布时间:2022-01-14 10:07:56 其他开发