47得票2回答
如何设置GFORTRAN编译器的标志以捕捉错误代码?

我觉得在任何教科书上都找不到这个答案,因为回答这个问题需要经验。 我目前正处于测试/验证代码/查找错误的阶段,以使其达到生产状态,任何错误都会导致很多人遭受痛苦,比如黑暗面。 在编译Fortran程序时,你可以设置哪些标志用于调试目的? 在生产系统中,你可以设置哪些标志? 在部署之前,...

43得票2回答
Julia(Julia-lang)性能与Fortran和Python相比较

我修改了一个简单的程序,用Julia语言计算和绘制运动涡旋,并为了测试该语言,也使用Python编写了相同的程序。 (声明:1. 我阅读stackoverflow上的每个性能比较都因不全面/不正确/写得不好/不相关等而受到批评。我不是在假装这是一个真正的比较,我只想知道如何使Julia更快。...

43得票3回答
如何在Fortran中初始化二维数组

在C语言中,你可以使用花括号语法轻松地初始化数组,如果我没记错的话:int* a = new int[] { 1, 2, 3, 4 }; 当您希望为数学目的初始化矩阵并使用特定的测试值时,如何在Fortran中为二维数组做相同的操作?(不必在单独的语句中对每个元素进行双重索引) 数组可以通过...

41得票3回答
C语言中的临时定义和链接

考虑由两个文件组成的C程序, f1.c: int x; f2.c: int x=2; 我的阅读理解是,在C99标准的第6.9.2段中,这个程序应该被拒绝。在我对6.9.2的解释中,变量x在f1.c中被暂时定义,但这个暂定定义会在翻译单元的结尾变成实际定义,并且(在我看来)应该像f...

41得票7回答
如何使用Fortran 90模块数据

假设你有一个Fortran 90模块,其中包含大量的变量、函数和子程序。在你的USE语句中,你遵循哪种惯例: 使用, only :语法明确声明你正在使用哪些变量/函数/子程序,例如:USE [module_name], only : variable1, variable2, ...? 插...

41得票1回答
如何为 Android NDK8b(x86 架构 Android)构建 i686-linux-android-gfortran?

我尝试使用build-gcc.sh构建i686-linux-android-gfortran,按照this(适用于androdindk-7b)的说明操作,但是我遇到了关于link.h的错误。我从here添加了link.h,但是它引发了更多的错误。 有人尝试启用i686-linux-andro...

39得票4回答
Fortran中的intent(inout)与省略intent的区别

良好的惯例规定,Fortran中的子程序参数应该每个都有一个指定的意图(即使用 intent(in)、intent(out) 或 intent(inout),详见此问题):subroutine bar (a, b) real, intent(in) :: a real, int...

38得票1回答
指针数组

我想实现一个指针数组,以便可以循环访问其中的元素。但是我不确定如何正确地实现:TYPE(domain),POINTER :: d01,d02,d03 TYPE(domain),DIMENSION(:),POINTER :: dom ... dom(1) => ...

38得票4回答
在Fortran中应该把`implicit none`放在哪里?

我需要在每个函数和子程序中添加implicit none吗? 还是只需要在包含这些函数和子程序的模块开头添加它就可以了? 还是只需要在使用这些模块的程序开头添加它就可以了? 通过观察别人的工作代码,这些地方都包括了implicit none。不确定是否重复了,因为从子程序中删除impli...

37得票4回答
Fortran内置的计时例程,哪个更好?cpu_time还是system_clock?

当计时一个FORTRAN程序时,我通常只使用命令call cpu_time(t)。然后我偶然发现了call system_clock([count,count_rate,count_max]),它似乎也可以完成同样的任务,但是更加复杂。我的知识来源于:旧的英特尔文档。我在英特尔的主页上没有找到...