回 帖 发 新 帖 刷新版面

主题:fortran 单行程序过长,如何解决

单行程序超过了gfortran的最大长度,如何解决?

回复列表 (共9个回复)

沙发

如果单行超过就续行

如果单文件超过就多文件分别编译,一起链接

板凳

换行呗。。。

3 楼

怎么续行?不太会。。。

我想做的是读取31列数据然后分别存储,读取的过程中定义了31个数组,结果数目太多。

4 楼


ok,搞定了,3Q

5 楼

编译时加参数:
-ffree-line-length-none
那自由格式就可以无限长了:)

6 楼

LS
PR50016的性能衰退bug已经在4.6中修复了
4.7还没有
主要是因为4.7的release还早,4.6的下一个release就到来了,所以先合并进了4.6

7 楼

谢谢董兄,貌似我也收到邮件了:)老鸡冻了:)您老神马时候再编译一个MinGW版本滴哈:)

8 楼

4.6.2release会编译

我目前做了gcc插件的windows移植,初步获得成功,未来来说llvm-dragonegg和gcc的一大批插件比如melt都可以移植到windows下来

我下个版本还未考虑是否加入这个新特性,等讨论后决定,可能很多人用不到这个功能,而且估计补丁上不被官方所支持(修改了binutils的exe符号导出的处理)。

不过我上次做出的std::thread的windows移植应该会加入这个版本,因为这个要依赖posix线程,所以我使用了winpthreads,理论上讲OpenMP程序会略慢(据Kai说,不过我没测试出性能下降),但可以获得更多的新特性。
另外,binutils改进了windows平台的诸多bug,lto插件使用度可以超过90%了。

考虑到时间和体积,我不会加入pgo和lto的处理。pgo是因为我把工具链转移到linux下交叉编译,而pgo只能native编译才行,lto是由于发行的体积过大,另外一个原因是pgo和lto合用会有各种意想不到的bug。

9 楼

分段写就行了,行末或者下一行抬头用符号“&”就行了

建议你找本教程好好看一下,彭国伦的就行

我来回复

您尚未登录,请登录后再回复。点此登录或注册