主题:fortran 单行程序过长,如何解决
dogschr
[专家分:0] 发布于 2011-10-18 08:01:00
单行程序超过了gfortran的最大长度,如何解决?
回复列表 (共9个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2011-10-18 08:42:00
如果单行超过就续行
如果单文件超过就多文件分别编译,一起链接
3 楼
dogschr [专家分:0] 发布于 2011-10-18 10:31:00
怎么续行?不太会。。。
我想做的是读取31列数据然后分别存储,读取的过程中定义了31个数组,结果数目太多。
4 楼
dogschr [专家分:0] 发布于 2011-10-18 10:36:00
ok,搞定了,3Q
5 楼
cgl_lgs [专家分:21040] 发布于 2011-10-18 11:11:00
编译时加参数:
-ffree-line-length-none
那自由格式就可以无限长了:)
6 楼
dongyuanxun [专家分:7180] 发布于 2011-10-18 21:39:00
LS
PR50016的性能衰退bug已经在4.6中修复了
4.7还没有
主要是因为4.7的release还早,4.6的下一个release就到来了,所以先合并进了4.6
7 楼
cgl_lgs [专家分:21040] 发布于 2011-10-19 10:38:00
谢谢董兄,貌似我也收到邮件了:)老鸡冻了:)您老神马时候再编译一个MinGW版本滴哈:)
8 楼
dongyuanxun [专家分:7180] 发布于 2011-10-19 12:22:00
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 楼
chenjingbin [专家分:60] 发布于 2011-11-01 13:48:00
分段写就行了,行末或者下一行抬头用符号“&”就行了
建议你找本教程好好看一下,彭国伦的就行
我来回复