作者obelisk0114 (追风筝的孩子)
看板C_and_CPP
标题[问题] Segmentation fault
时间Tue Dec 6 17:17:28 2016
开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
问题(Question):
有时候执行会出现 Segmentation fault, 有时候会正常运行
喂入的资料(Input):
两笔数值资料,比较误差
程式码(Code):(请善用置底文网页, 记得排版)
https://github.com/r02941066/Question/blob/master/compareInput.c
补充说明(Supplement):
一个问题用 C/C++ 和 CUDA-C 执行,各自产生一个txt,比较结果
这是用来比较 txt档案的程式
所以设定相对误差,若在误差范围内视为正确
我觉得读档案那里可能有点问题,因为有时候会出现 Segmentation fault
有时候又能正常执行而没有出错
--
肝不好 ▁▁ ● ◤
肝若好
人生是黑白的 ▏ ◤
考卷是空白的
▏ ◤
、 ﹐
● ●b 囧 ▎ ●> ● ◤
▌ ﹍﹍ 0 ▊囧>
干...
▲ ■┘ ■ ▎ ■ █◤ ▌ ㄏ▋ ︶■
〈﹀ ∥ ▁▁∥ ▎ ﹀〉◤
▋ ▊ 〈\
ψcockroach727
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 71.95.52.50
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1481015854.A.288.html
1F:→ pttworld: 通常是阵列索引超出范围,先检查所有的资料长度。 12/06 18:31
在 server 上跑的,不知道会不会用到我不能用的记忆体
2F:→ pttworld: const char s[2] = ", "; 这是奇怪的。 12/06 18:31
看不懂
3F:→ friends29: 你一开始char pointer没有 initialize 12/07 16:04
第 18 行改成
char *ORIGINAL = "", *TARGET = "";
第 52 行改成
char *token = "";
第 83 行改成
char *token2 = "";
这样吗 ?
4F:→ friends29: 字串最後要加上结尾符号 12/07 16:07
你的意思是第 22, 23 行要写成这样吗 ?
ORIGINAL = "out1.txt\0";
TARGET = "out2.txt\0";
※ 编辑: obelisk0114 (71.95.52.50), 12/09/2016 17:56:38