草庐IT

fortran90

全部标签

c++ - 混合 C++ 和 Fortran 链接问题

我在网上做了一些搜索,但找不到如何从linux编译简单的C++和Fortran代码。我需要让它变得复杂,但我只需要知道如何从一个简单的例子开始。我的C++代码是这样的:#includeusingnamespacestd;externintAdd(int*,int*);externintMultiply(int*,int*);intmain(){inta,b,c;cout>a>>b;c=Add(&a,&b);cout我的Fortran代码是这样的:integerfunctionAdd(a,b)integera,bAdd=a+breturnendintegerfunctionMultipl

一个Fortran模块需要位于另一个模块中的子例程

我有这样的问题:main.f90->包含主文件sub_a.f90->包含子例程asub_b.f90->包含子例程belets_stuffs.f90->包含点2和3所需的所有功能。所有四个点都是单独写的。main.f90includesub_A.f90includesub_B.f90includeother_stuffs.f90programMAINuseAuseBuseother...callproc_Acall_proc_BendprogramMAINsub_a.f90moduleAcontainssubroutineproc_Auseother...callcomp

c++ - 如何将字符串数组从 C 和 Fortran 传递给 Fortran?

我正在尝试将字符串数组从C传递到Fortran子例程,以及从Fortran传递到同一个Fortran子例程。我成功地从C和Fortran传递了单个字符串(即一维字符数组)。但是,我在处理字符串数组时遇到了问题。我在Fortran端使用ISOC绑定(bind),理想情况下我希望这在调用端尽可能无缝。我已经阅读了一些相关的问题和答案。有些(即this和this)只是“使用ISOC”,没有进一步的细节,这没有多大帮助。Thisanswer非常有帮助(类似于adifferentquestion的答案),但仅适用于单个字符串,其中似乎在单个Fortran字符串中识别了c_null_char。如果

编译为文件夹名称,fortran

让我们调用我们的主要代码需要一个函数f(x),Main.f90和源代码S01.f90,S02.f90等等,具有不同形式的f(x)。我想拥有Main.f90根据f(x)从Sxx.f90进入文件夹“SXX”。我通过蝙蝠文件编译为gfortran-oRunMe.exeSxx.f90Main.f90.起初看来,该代码需要意识到其编译的组件,但我不仅不知道该怎么做,而且我相信可能会有更好的方法。到目前为止,我将代码写入将其馈送给文件夹名称的位置.txt,但是再次,我希望它简单地采用从源代码中已经知道的内容。如果还有其他建议,请提及它们!它不一定像我所说的那样。这是要点:计算,蓝图,结果。我想要在父亲文件

c++ - 从 C++ 拦截 Fortran STOP

我准备了一个旧版Fortran库的C++接口(interface)。遗留库中的一些子例程遵循丑陋但可用的状态代码约定来报告错误,我使用此类状态代码从我的C++代码中抛出一个可读的异常:它工作得很好。另一方面,有时遗留库调用STOP(终止程序)。即使病情是可以恢复的,它也经常这样做。我想从C++中捕获这个STOP,到目前为止我还没有成功。下面的代码很简单,但恰好代表了手头的问题:Fortran遗留库fmodule.f90:modulefmoduleuseiso_c_bindingcontainssubroutinefsub(x)bind(c,name="fsub")real(c_doub

c++ - 是否有如此出色的 C 编译器,以至于 fortran 正在成为一种多余的语言?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。只是想知道,因为我一直认为Fortran用于super计算。但是,我经常听说C编译器可以使C与Fortran一样快,那么它的使用是否受到限制?此外,如果这是真的,那么最快的C编译器是什么?提前致谢。

由于找不到msvcr90.dll无法继续执行代码的5个修复方法

msvcr90.dll是MicrosoftVisualC++2008Redistributable软件包中的一个库文件,它是用于在Windows操作系统上运行C++应用程序的重要文件之一。当我们电脑系统中的msvcr90.dll丢失或者损坏了,就会导致很多软件跟游戏无法打开运行,会提示“由于找不到msvcr90.dll无法继续执行代码”。我们需要怎么修复呢? 找不到msvcr90.dll的四个主要原因:损坏的msvcr90.dll文件:如果msvcr90.dll文件被损坏,则系统无法找到该文件。这可能是由于病毒感染、硬盘故障、不当的软件安装或其他原因导致的。旧版本的msvcr90.dll文件:

c++ - C++ 中 Fortran 风格的多维数组

是否有一个C++库提供Fortran风格的多维数组,支持切片、作为过程参数传递和体面的文档?我调查了blitz++但它死了! 最佳答案 我强烈建议Armadillo:ArmadilloisaC++linearalgebralibrary(matrixmaths)aimingtowardsagoodbalancebetweenspeedandeaseofuse它是一个C++模板库:Adelayedevaluationapproachisemployed(atcompile-time)tocombineseveraloperations

c++ - Scala等与C/C++/Fortran的性能比较?

我想知道是否有任何可靠的“现代”多线程专用语言之间的性能比较,例如scala和“经典”“低级”语言,如C、C++、Fortran,使用并行库,如MPI、Posix甚至Open-MP。欢迎任何链接和建议。 最佳答案 假设Java以及Scala可以调用外部库,并且假设那些高度特化的外部库将完成大部分工作,那么只要使用相同的库,性能是相同的。除此之外,任何此类比较本质上都是没有意义的。Scala代码在具有运行时优化的虚拟机上运行。这种优化可以插入长时间运行的程序比使用其他语言编译的程序具有更高的性能——或者不是。这取决于用每种语言编写的具

《痞子衡嵌入式半月刊》 第 90 期

痞子衡嵌入式半月刊:第90期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。本期刊是开源项目(GitHub:JayHeng/pzh-mcu-bi-weekly),欢迎提交issue,投稿或推荐你知道的嵌入式那些事儿。上期回顾:《痞子衡嵌入式半月刊:第89期》唠两句历史上的今天:1935年2月2日,《义勇军进行曲》诞生。本期共收录4个项目,希望对你有帮助!项目类1、EEPROMWearLevel-一个开源EEPROM磨损均衡算法EEPROMWearLevel基于Arduino框架中包含的EEPROM库。它通过将每个新值写入其他EEPRO