看帖神器
未名空间
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学城
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
求教一个fortran问题
查看未名空间今日新帖
最新回复:2021年5月8日 7点16分 PT
共 (20) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
f
ftmit
接近 3 年
楼主 (未名空间)
求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
do i = 1, 300
........
........
........
enddo
[1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
[2],当i小于13时(i=1,13),程序通过,没有任何问题
[3],当i大于14时(i=1,14),程序报错如下:
Program received signal SIGSEGV: Segmentation fault - invalid memory
reference.
Backtrace for this error:
#0 0x7f4831395d3a
#1 0x7f4831394ed5
#2 0x7f48311c920f
#3 0x555e43529a4b
#4 0x555e4352a6b8
#5 0x7f48311aa0b2
#6 0x555e4352811d
#7 0xffffffffffffffff
Segmentation fault (core dumped)
先谢谢各位大侠了。
z
zeami
接近 3 年
2 楼
叔帮你顶。
晕死,这都几个月了还在忙大老板的fortran。。
【 在 ftmit (八戒) 的大作中提到: 】
: 求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
: do i = 1, 300
: ........
: ........
: ........
: enddo
: [1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
: [2],当i小于13时(i=1,13),程序通过,没有任何问题
: [3],当i大于14时(i=1,14),程序报错如下:
: Program received signal SIGSEGV: Segmentation fault - invalid memory
: ...................
z
zeami
接近 3 年
3 楼
FORTRAN 77那本书读过了嘛?
【 在 zeami (贼阿米) 的大作中提到: 】
: 叔帮你顶。
: 晕死,这都几个月了还在忙大老板的fortran。。
f
ftmit
接近 3 年
4 楼
没法子啊,大老板给的原始code就是纯fortran写的,这么古老的东西,我也是彻底服
了。再加上我本身是折腾实验出身的,根本就没有搞过这些建模的鬼咚咚,现学现卖,一步一个跟头,郁闷!
【 在 zeami (贼阿米) 的大作中提到: 】
: 叔帮你顶。
: 晕死,这都几个月了还在忙大老板的fortran。。
z
zeami
接近 3 年
5 楼
大老板居然无所谓发贴早晚。这必须服气啊
【 在 ftmit (八戒) 的大作中提到: 】
: 没法子啊,大老板给的原始code就是纯fortran写的,这么古老的东西,我也是彻底服
: 了。再加上我本身是折腾实验出身的,根本就没有搞过这些建模的鬼咚咚,现学现卖,
: 一步一个跟头,郁闷!
f
ftmit
接近 3 年
6 楼
菌版那边zhetian (叶凡)给我回复说是典型的越界,我正在查循环体,这个循环体太大了,关联的数组也很多,查吧,还能怎么办,
发信人: ftmit (八戒), 信区: Military
标 题: Re: 求教一个fortran问题 (转载)
发信站: BBS 未名空间站 (Fri May 7 14:44:23 2021, 美东)
多谢大侠指点迷津!我查看一下循环体去。
【 在 zhetian (叶凡) 的大作中提到: 】
: 典型的越界。
: 你这省略的代码里,估计有什么array之类的,长度根本不在13之上,你错误的声明了
: array[14],所以index超过13就越界了。
【 在 zeami (贼阿米) 的大作中提到: 】
: FORTRAN 77那本书读过了嘛?
z
zeami
接近 3 年
7 楼
之前说过的awk试过嘛?几千个数据随便处理了不超过一小时
【 在 ftmit (八戒) 的大作中提到: 】
: 菌版那边zhetian (叶凡)给我回复说是典型的越界,我正在查循环体,这个循环体太大
: 了,关联的数组也很多,查吧,还能怎么办,
: 发信人: ftmit (八戒), 信区: Military
: 标 题: Re: 求教一个fortran问题 (转载)
: 发信站: BBS 未名空间站 (Fri May 7 14:44:23 2021, 美东)
: 多谢大侠指点迷津!我查看一下循环体去。
z
zeami
接近 3 年
8 楼
数年前写过fortran。也不是在fortran里写循环处理数据
外挂文件写,就是先改过参数然后反复调同一个fortran
【 在 zeami (贼阿米) 的大作中提到: 】
: 之前说过的awk试过嘛?几千个数据随便处理了不超过一小时
f
ftmit
接近 3 年
9 楼
阿米,问你个事。
你有没有办法让fortran直接读取excel里的数据?每次都要从excel中把数据copy到记
事本里做输入文件,太麻烦了。
先谢谢啊。
【 在 zeami (贼阿米) 的大作中提到: 】
: 数年前写过fortran。也不是在fortran里写循环处理数据
: 外挂文件写,就是先改过参数然后反复调同一个fortran
z
zeami
接近 3 年
10 楼
excel可以存成txt啊,之前说的awk处理txt分分钟
我调过的fortran源码都是机密,没法改
所以都是自己在外部改好参数后重新同一方式调用
【 在 ftmit (八戒) 的大作中提到: 】
: 阿米,问你个事。
: 你有没有办法让fortran直接读取excel里的数据?每次都要从excel中把数据copy到记
: 事本里做输入文件,太麻烦了。
: 先谢谢啊。
f
ftmit
接近 3 年
11 楼
我的意思是直接把excel做为输入文件,不用经过中间txt 的那个过程,能搞定不?
【 在 zeami(贼阿米) 的大作中提到: 】
: excel可以存成txt啊,之前说的awk处理txt分分钟
: 我调过的fortran源码都是机密,没法改
: 所以都是自己在外部改好参数后重新同一方式调用
z
zeami
接近 3 年
12 楼
excel完全可以先用matlab重新写过
你最早问的问题很清晰,不用matlab重新写就能用
现在发展成什么样的数据了?还是有列的数据嘛?
【 在 ftmit (八戒) 的大作中提到: 】
: 我的意思是直接把excel做为输入文件,不用经过中间txt 的那个过程,能搞定不?
:
: excel可以存成txt啊,之前说的awk处理txt分分钟
:
: 我调过的fortran源码都是机密,没法改
:
: 所以都是自己在外部改好参数后重新同一方式调用
:
z
zeami
接近 3 年
13 楼
用蟒蛇也能重新写过
【 在 zeami (贼阿米) 的大作中提到: 】
: excel完全可以先用matlab重新写过
: 你最早问的问题很清晰,不用matlab重新写就能用
: 现在发展成什么样的数据了?还是有列的数据嘛?
H
Huangchong
接近 3 年
14 楼
你可以拿python写个脚本 把Excel批量转成csv csv 本质就是文本 这样fortran
可以直接读
fortran本身不适合拿来搞读Excel这种事情
【 在 ftmit (八戒) 的大作中提到: 】
: 我的意思是直接把excel做为输入文件,不用经过中间txt 的那个过程,能搞定不?
: : excel可以存成txt啊,之前说的awk处理txt分分钟
: : 我调过的fortran源码都是机密,没法改
: : 所以都是自己在外部改好参数后重新同一方式调用
:
p
pinfish
接近 3 年
15 楼
循环里调用i指向数组什么的地方查查
没实际程序这能问出个鬼...
m
mb1
接近 3 年
16 楼
主要代码都在省略号里,怎么帮你查问题?
【 在 ftmit (八戒) 的大作中提到: 】
: 求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
:
: do i = 1, 300
: ........
: ........
: ........
: enddo
:
: [1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
:
: [2],当i小于13时(i=1,13),程序通过,没有任何问题
:
: [3],当i大于14时(i=1,14),程序报错如下:
:
: Program received signal SIGSEGV: Segmentation fault - invalid memory
: reference.
:
: Backtrace for this error:
: #0 0x7f4831395d3a
: #1 0x7f4831394ed5
: #2 0x7f48311c920f
: #3 0x555e43529a4b
: #4 0x555e4352a6b8
: #5 0x7f48311aa0b2
: #6 0x555e4352811d
: #7 0xffffffffffffffff
: Segmentation fault (core dumped)
:
: 先谢谢各位大侠了。
d
daemonself
接近 3 年
17 楼
你这个问题和fortran有什么关系?你写成C就不会segment fault了?
test很容易,不要动不动就用debugger。试一下i=14不会出segment fault
【 在 ftmit (八戒) 的大作中提到: 】
: 求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
: do i = 1, 300
: ........
: ........
: ........
: enddo
: [1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
: [2],当i小于13时(i=1,13),程序通过,没有任何问题
: [3],当i大于14时(i=1,14),程序报错如下:
: Program received signal SIGSEGV: Segmentation fault - invalid memory
: ...................
m
maynot
接近 3 年
18 楼
运行一下 ulimit 看能不能过
d
daemonself
接近 3 年
19 楼
ulimit也是一个思路,或者换intel complier
【 在 maynot (猫冬) 的大作中提到: 】
: 运行一下 ulimit 看能不能过
n
nobrain
接近 3 年
20 楼
应该是当i大于14时,有的数组出现了越界,好好查一下
请输入帖子链接
收藏帖子
求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
do i = 1, 300
........
........
........
enddo
[1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
[2],当i小于13时(i=1,13),程序通过,没有任何问题
[3],当i大于14时(i=1,14),程序报错如下:
Program received signal SIGSEGV: Segmentation fault - invalid memory
reference.
Backtrace for this error:
#0 0x7f4831395d3a
#1 0x7f4831394ed5
#2 0x7f48311c920f
#3 0x555e43529a4b
#4 0x555e4352a6b8
#5 0x7f48311aa0b2
#6 0x555e4352811d
#7 0xffffffffffffffff
Segmentation fault (core dumped)
先谢谢各位大侠了。
叔帮你顶。
晕死,这都几个月了还在忙大老板的fortran。。
【 在 ftmit (八戒) 的大作中提到: 】
: 求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
: do i = 1, 300
: ........
: ........
: ........
: enddo
: [1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
: [2],当i小于13时(i=1,13),程序通过,没有任何问题
: [3],当i大于14时(i=1,14),程序报错如下:
: Program received signal SIGSEGV: Segmentation fault - invalid memory
: ...................
FORTRAN 77那本书读过了嘛?
【 在 zeami (贼阿米) 的大作中提到: 】
: 叔帮你顶。
: 晕死,这都几个月了还在忙大老板的fortran。。
没法子啊,大老板给的原始code就是纯fortran写的,这么古老的东西,我也是彻底服
了。再加上我本身是折腾实验出身的,根本就没有搞过这些建模的鬼咚咚,现学现卖,一步一个跟头,郁闷!
【 在 zeami (贼阿米) 的大作中提到: 】
: 叔帮你顶。
: 晕死,这都几个月了还在忙大老板的fortran。。
大老板居然无所谓发贴早晚。这必须服气啊
【 在 ftmit (八戒) 的大作中提到: 】
: 没法子啊,大老板给的原始code就是纯fortran写的,这么古老的东西,我也是彻底服
: 了。再加上我本身是折腾实验出身的,根本就没有搞过这些建模的鬼咚咚,现学现卖,
: 一步一个跟头,郁闷!
菌版那边zhetian (叶凡)给我回复说是典型的越界,我正在查循环体,这个循环体太大了,关联的数组也很多,查吧,还能怎么办,
发信人: ftmit (八戒), 信区: Military
标 题: Re: 求教一个fortran问题 (转载)
发信站: BBS 未名空间站 (Fri May 7 14:44:23 2021, 美东)
多谢大侠指点迷津!我查看一下循环体去。
【 在 zhetian (叶凡) 的大作中提到: 】
: 典型的越界。
: 你这省略的代码里,估计有什么array之类的,长度根本不在13之上,你错误的声明了
: array[14],所以index超过13就越界了。
【 在 zeami (贼阿米) 的大作中提到: 】
: FORTRAN 77那本书读过了嘛?
之前说过的awk试过嘛?几千个数据随便处理了不超过一小时
【 在 ftmit (八戒) 的大作中提到: 】
: 菌版那边zhetian (叶凡)给我回复说是典型的越界,我正在查循环体,这个循环体太大
: 了,关联的数组也很多,查吧,还能怎么办,
: 发信人: ftmit (八戒), 信区: Military
: 标 题: Re: 求教一个fortran问题 (转载)
: 发信站: BBS 未名空间站 (Fri May 7 14:44:23 2021, 美东)
: 多谢大侠指点迷津!我查看一下循环体去。
数年前写过fortran。也不是在fortran里写循环处理数据
外挂文件写,就是先改过参数然后反复调同一个fortran
【 在 zeami (贼阿米) 的大作中提到: 】
: 之前说过的awk试过嘛?几千个数据随便处理了不超过一小时
阿米,问你个事。
你有没有办法让fortran直接读取excel里的数据?每次都要从excel中把数据copy到记
事本里做输入文件,太麻烦了。
先谢谢啊。
【 在 zeami (贼阿米) 的大作中提到: 】
: 数年前写过fortran。也不是在fortran里写循环处理数据
: 外挂文件写,就是先改过参数然后反复调同一个fortran
excel可以存成txt啊,之前说的awk处理txt分分钟
我调过的fortran源码都是机密,没法改
所以都是自己在外部改好参数后重新同一方式调用
【 在 ftmit (八戒) 的大作中提到: 】
: 阿米,问你个事。
: 你有没有办法让fortran直接读取excel里的数据?每次都要从excel中把数据copy到记
: 事本里做输入文件,太麻烦了。
: 先谢谢啊。
我的意思是直接把excel做为输入文件,不用经过中间txt 的那个过程,能搞定不?
【 在 zeami(贼阿米) 的大作中提到: 】
: excel可以存成txt啊,之前说的awk处理txt分分钟
: 我调过的fortran源码都是机密,没法改
: 所以都是自己在外部改好参数后重新同一方式调用
excel完全可以先用matlab重新写过
你最早问的问题很清晰,不用matlab重新写就能用
现在发展成什么样的数据了?还是有列的数据嘛?
【 在 ftmit (八戒) 的大作中提到: 】
: 我的意思是直接把excel做为输入文件,不用经过中间txt 的那个过程,能搞定不?
:
: excel可以存成txt啊,之前说的awk处理txt分分钟
:
: 我调过的fortran源码都是机密,没法改
:
: 所以都是自己在外部改好参数后重新同一方式调用
:
用蟒蛇也能重新写过
【 在 zeami (贼阿米) 的大作中提到: 】
: excel完全可以先用matlab重新写过
: 你最早问的问题很清晰,不用matlab重新写就能用
: 现在发展成什么样的数据了?还是有列的数据嘛?
你可以拿python写个脚本 把Excel批量转成csv csv 本质就是文本 这样fortran
可以直接读
fortran本身不适合拿来搞读Excel这种事情
【 在 ftmit (八戒) 的大作中提到: 】
: 我的意思是直接把excel做为输入文件,不用经过中间txt 的那个过程,能搞定不?
: : excel可以存成txt啊,之前说的awk处理txt分分钟
: : 我调过的fortran源码都是机密,没法改
: : 所以都是自己在外部改好参数后重新同一方式调用
:
循环里调用i指向数组什么的地方查查
没实际程序这能问出个鬼...
主要代码都在省略号里,怎么帮你查问题?
【 在 ftmit (八戒) 的大作中提到: 】
: 求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
:
: do i = 1, 300
: ........
: ........
: ........
: enddo
:
: [1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
:
: [2],当i小于13时(i=1,13),程序通过,没有任何问题
:
: [3],当i大于14时(i=1,14),程序报错如下:
:
: Program received signal SIGSEGV: Segmentation fault - invalid memory
: reference.
:
: Backtrace for this error:
: #0 0x7f4831395d3a
: #1 0x7f4831394ed5
: #2 0x7f48311c920f
: #3 0x555e43529a4b
: #4 0x555e4352a6b8
: #5 0x7f48311aa0b2
: #6 0x555e4352811d
: #7 0xffffffffffffffff
: Segmentation fault (core dumped)
:
: 先谢谢各位大侠了。
你这个问题和fortran有什么关系?你写成C就不会segment fault了?
test很容易,不要动不动就用debugger。试一下i=14不会出segment fault
【 在 ftmit (八戒) 的大作中提到: 】
: 求教大家一个fortran问题,麻烦各位大侠看看哪里出问题了?先谢谢了。
: do i = 1, 300
: ........
: ........
: ........
: enddo
: [1],使用gfortran xxx.f -o xxx编辑通过,没有报错。
: [2],当i小于13时(i=1,13),程序通过,没有任何问题
: [3],当i大于14时(i=1,14),程序报错如下:
: Program received signal SIGSEGV: Segmentation fault - invalid memory
: ...................
运行一下 ulimit 看能不能过
ulimit也是一个思路,或者换intel complier
【 在 maynot (猫冬) 的大作中提到: 】
: 运行一下 ulimit 看能不能过
应该是当i大于14时,有的数组出现了越界,好好查一下