草庐IT

fortran90

全部标签

arrays - Fortran 中没有 Allocate() 的可变大小数组

有没有办法在Fortran中创建可变大小的数组在堆栈上?Allocate()对我不起作用,因为它将数组放在堆上。这可能会导致并行化问题(请参阅我的另一个问题:OpenMP:poorperformanceofheaparrays(stackarraysworkfine))。当然,一些智能内存管理可以解决这个问题,但是Fortran中的内存管理听起来很傻。基本上,我正在寻找与C语言中以下内容的Fortran等效项:scanf("%d",N);intmyarray[N];重申:我不想Integer,PARAMETER::N=100Integer,Dimension(N)::myarray因为

c++ - Fortran 中的 STL 类似物

基础:我有非常大的并行Fortran90/MPI程序,代表复杂的物理模型。我想为其添加新功能:例如,我需要组织消息队列,在某处引入合并排序并使用哈希表。问题:我自己知道如何编写哈希表、创建队列和代码归并排序,但我认为发明自行车不是一个好主意。问题:在这种情况下,Fortran大师应该怎么做?我应该从Fortran构建与C++类的绑定(bind)并使用STL在那里实现逻辑,还是您可以建议一些类似FortranSTL的库?谢谢。 最佳答案 Fortran中没有模板,因此没有STL。你可以试试FLIBS对于一些通用库。它一般使用trans

c++ - Fortran 77 代码到 C++ 的转换

是否有人将Fortran77代码的大型(我们的为550,000行)程序转换为C++?你遇到了什么陷阱?转换成功了吗?您是否使用过for_c(http://www.cobalt-blue.com/fc/fcmain.htm)之类的工具?生成的C++代码是明显快了还是慢了? 最佳答案 这增加了EvilTeach的建议。请记住,链接Fortran77和C/C++代码相当容易,因此您可以逐步转换应用程序的某些部分并将它们与旧部分链接在一起。如果您这样做,您将不得不考虑所有常见的fortran/c差异(行/列主要数组、数组索引等),但它会为您

c++ - ASCII数据导入: how can I match Fortran's bulk read performance in C++?

设置您好,我有用于读取ASCIIdouble数据的Fortran代码(问题底部的数据文件示例):programReadDatainteger::mx,my,mzdoubleprecision,allocatable,dimension(:,:,:)::charge!Openthefile'CHGCAR'open(11,file='CHGCAR',status='old')!Gettheextentofthe3Dsystemandallocatethe3Darrayread(11,*)mx,my,mzallocate(charge(mx,my,mz))!Bulkreadtheentire

c++ - 在 Visual C++ 2008 的 Debug模式下找不到 MSVCR90D.dll

我在使用VisualC++2008时遇到问题。我已经安装了opencv,并且我已经创建了一个新程序,并且我构建它时没有出现任何错误。但是,它提示调试时找不到MSVCR90D.dll。在Release模式下完全没有问题。我确实在Winsxs文件夹之一中有MSVCR90D.dll。有谁知道解决这个问题?这是一个已知的错误?杰拉德 最佳答案 本forumpost中描述了几种潜在的解决方案。看看这些是否有帮助。从那里得到一个提示:Goto%SystemDrive%\Windows\WinSxSandlookforthedirectoryx8

c++ - 将 Fortran、C++ 与 R 集成

我的任务是用C++重写一个R函数来加速while循环。除了.Fortran()之外,所有的R代码都在Rcpp和Armadillo的帮助下重写了。我首先尝试使用Rinside,但正如Dirk所指出的那样,它以非常慢的速度工作。(数据经过R->C++->R->Fortran代价高昂)由于我不想用C++重写Fortran代码,反之亦然,通过将C++直接链接到Fortran来加速程序看起来很自然:R->C++->Fortran。//[[Rcpp::depends(RcppArmadillo)]]#includeusingnamespaceRcpp;extern"C"{Listf_(int*n,

c++ - fatal error LNK1104 : cannot open file 'libboost_system-vc90-mt-gd-1_43.lib'

新建一个项目,添加main.cpp并在这个网址写代码:http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp另外,添加了适当的包含路径。接下来是什么?!?!!构建boost代码似乎是个谜!已经挖掘了10多个小时。谁能直接回答如何在windows、VC9下用代码构建boost库? 最佳答案 您需要使用bjam。它负责创建您的应用程序将使用的库。使用bjam后,您将需要指示您的项目包含lib文件。您可以

C51单片机定时器2实现SG90舵机控制

谈起舵机最初的了解应用于航模,偶然的机会在网上看到有牛人使用多个舵机做人形机器人的关节,感觉这小东西很有趣,蒙发了买来学习学习的想法,这已经是多年前的事了,后来由于某些原因,这个想法直到今年才落地。小东西到手后,把玩了解后,本人把学习过程记录下来,分享出来,由于本人水平有限,疏漏难免。一、知识链接:1、SG90舵机简介:舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。SG90 舵机技术参数: 产品名称SG909g塑料齿数字舵机产品净重9g产

python - 在 Python 中打包旧版 Fortran。可以使用 setuptools 和 numpy.distutils 吗?

我正在尝试为我所在领域的一些流行的Fortran代码制作python包分发。我希望它使用带有setup.py文件的最标准方法。相关问题对学习有帮助howtowrapFortranextensions.在使用这种方法时,我注意到在混合setuptools和numpy.distutils时会出现一些令人困惑的行为。将两者混合是不好的做法吗?截至2015年,似乎最好尽可能使用setuptools。但是,我想以与numpy.兼容的方式构建Fortran扩展,所以我想从numpy.distutils来获取Extension和setup。我正在使用以下基本方法:fromsetuptools.com

c++ - 如何将 N x N 矩阵旋转 90 度?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion如何将NxN矩阵旋转90度。我希望它就位? 最佳答案 for(inti=0;i注意这个我没有测试过,只是现在当场作曲。请在使用它之前进行测试。 关于c++-如何将NxN矩阵旋转90度?,我们在StackOverflow上找到一个类似的问题: https://stackoverf