由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - solidot上看来的
相关主题
帮忙找个错c++ define question
char s[]和char *ps的不同C++ 科学计算中的常量
关于在C中定义常量问个字符串的基本问题
这个C++程序为什么不能运行TIJ上写错了?
A question about cost char*请教一个问题
Adobe中国公司关闭(烙印又下黑手了) (转载)弱问c++里有没有NULL这个keyword?
Linus Torvalds因内核注解标点格式发飙 solidot teikaei 21小时54分钟前 Linus Torvalds在Linux内核邮件开发者列表上再次发飙,将部分程序员偏爱的代码注解标点格式称为“脑残”。他强烈反对的注解格式类似:/* This is disgusting drug-induced * crap, and should die */(具体见下图) http://static.cnbetacdn.com/article/2016/0713/00a2039be872四道C++面试题
[转载] Re: 密码学领域重大发现:山东大学王小云教授成功问一个python的string split问题
相关话题的讨论汇总
话题: abs话题: int话题: 10话题: printf话题: solidot
进入Programming版参与讨论
1 (共1页)
y*w
发帖数: 238
1
int main () {
int i=2;
if( -10*abs (i-1) == 10*abs(i-1) )
printf ("OMG,-10==10 in linux!\n");
else
printf ("nothing special here\n");
}
同样的C代码,在windows和unix系统中编译运行的结果是nothing special here,只有
linux得到是-10==10。恩,我们的gcc在这里犯了一个低级错误。"
http://linux.solidot.org/linux/07/11/19/0512218.shtml
t****t
发帖数: 6806
2
FT,超级大bug

【在 y*w 的大作中提到】
: int main () {
: int i=2;
: if( -10*abs (i-1) == 10*abs(i-1) )
: printf ("OMG,-10==10 in linux!\n");
: else
: printf ("nothing special here\n");
: }
: 同样的C代码,在windows和unix系统中编译运行的结果是nothing special here,只有
: linux得到是-10==10。恩,我们的gcc在这里犯了一个低级错误。"
: http://linux.solidot.org/linux/07/11/19/0512218.shtml

P****i
发帖数: 12972
3
这个solidot跟/.什么关系?照抄还是翻译?

【在 y*w 的大作中提到】
: int main () {
: int i=2;
: if( -10*abs (i-1) == 10*abs(i-1) )
: printf ("OMG,-10==10 in linux!\n");
: else
: printf ("nothing special here\n");
: }
: 同样的C代码,在windows和unix系统中编译运行的结果是nothing special here,只有
: linux得到是-10==10。恩,我们的gcc在这里犯了一个低级错误。"
: http://linux.solidot.org/linux/07/11/19/0512218.shtml

i*****f
发帖数: 578
4
真是奇怪
int main()
{
int i=3;
int a=10*abs(i-1);
int b=-10*abs(i-1);
printf("%d %d\n",a,b);
}
结果是
20 20
如果加参数-fno-builtin编译就可以work

【在 y*w 的大作中提到】
: int main () {
: int i=2;
: if( -10*abs (i-1) == 10*abs(i-1) )
: printf ("OMG,-10==10 in linux!\n");
: else
: printf ("nothing special here\n");
: }
: 同样的C代码,在windows和unix系统中编译运行的结果是nothing special here,只有
: linux得到是-10==10。恩,我们的gcc在这里犯了一个低级错误。"
: http://linux.solidot.org/linux/07/11/19/0512218.shtml

f*******y
发帖数: 988
5
是中国的一个网站,用了slashcode release出来的源代码做的网站,什么许可我不清楚
以前比较多翻译slashdot上的文章,现在submit的人多了,也有不少都是国内的新闻了

【在 P****i 的大作中提到】
: 这个solidot跟/.什么关系?照抄还是翻译?
f*******y
发帖数: 988
6
看下面的评论,有人说按照时间来看这个bug可能是按照一个最新的补丁写出来的

【在 t****t 的大作中提到】
: FT,超级大bug
f*****Q
发帖数: 1912
7
-10==10 on OS X 10.4 too, gcc 4.01.
y*w
发帖数: 238
8
那个链接下面有评论和解释
貌似是gcc source code里面优化中出了bug
c0*abs(x) 优化成了 abs(c0*x)
如果x是常量或者c0=1时不做此优化,其他时候都做,所以c0为负而且不等于1的时候会错
http://www.nabble.com/-PATCH--Fix-PR34130,-extract_muldiv-broken-t4826688.html

【在 i*****f 的大作中提到】
: 真是奇怪
: int main()
: {
: int i=3;
: int a=10*abs(i-1);
: int b=-10*abs(i-1);
: printf("%d %d\n",a,b);
: }
: 结果是
: 20 20

k*k
发帖数: 508
9
c0*abs(x) -> abs(c0*x) 优化了什么?

会错

【在 y*w 的大作中提到】
: 那个链接下面有评论和解释
: 貌似是gcc source code里面优化中出了bug
: c0*abs(x) 优化成了 abs(c0*x)
: 如果x是常量或者c0=1时不做此优化,其他时候都做,所以c0为负而且不等于1的时候会错
: http://www.nabble.com/-PATCH--Fix-PR34130,-extract_muldiv-broken-t4826688.html

c********x
发帖数: 84
10
they are wrong, the reason abs() parameter formats are the abs(float) or abs
(double), when the
result assigns to int b, the '-' sign get chopped out. Here is the right one:
#include
#include
int main()
{
int i=3;
int a=10*abs(i-1);
float b= -10.0*abs(i-1);
printf("%d %.0f\n",a, b);
}
相关主题
Adobe中国公司关闭(烙印又下黑手了) (转载)c++ define question
Linus Torvalds因内核注解标点格式发飙 solidot teikaei 21小时54分钟前 Linus Torvalds在Linux内核邮件开发者列表上再次发飙,将部分程序员偏爱的代码注解标点格式称为“脑残”。他强烈反对的注解格式类似:/* This is disgusting drug-induced * crap, and should die */(具体见下图) http://static.cnbetacdn.com/article/2016/0713/00a2039be872C++ 科学计算中的常量
[转载] Re: 密码学领域重大发现:山东大学王小云教授成功问个字符串的基本问题
进入Programming版参与讨论
t****t
发帖数: 6806
11
真的是找一句正确的话都很困难啊。

abs
one:

【在 c********x 的大作中提到】
: they are wrong, the reason abs() parameter formats are the abs(float) or abs
: (double), when the
: result assigns to int b, the '-' sign get chopped out. Here is the right one:
: #include
: #include
: int main()
: {
: int i=3;
: int a=10*abs(i-1);
: float b= -10.0*abs(i-1);

P********e
发帖数: 2610
12
斑竹在做什么呀

真的是找一句正确的话都很困难啊。
abs
one:

【在 t****t 的大作中提到】
: 真的是找一句正确的话都很困难啊。
:
: abs
: one:

t****t
发帖数: 6806
13
烧完三把火就跑了呗。

【在 P********e 的大作中提到】
: 斑竹在做什么呀
:
: 真的是找一句正确的话都很困难啊。
: abs
: one:

c********x
发帖数: 84
14

I am so sorry you can get the benefit from my post.

【在 t****t 的大作中提到】
: 真的是找一句正确的话都很困难啊。
:
: abs
: one:

e*****w
发帖数: 144
15
我倒,abs就是给整型用的,你那个叫fabs。
另外无论如何负号也不会直接被chop掉啊,int会被提升到double。

abs
one:

【在 c********x 的大作中提到】
: they are wrong, the reason abs() parameter formats are the abs(float) or abs
: (double), when the
: result assigns to int b, the '-' sign get chopped out. Here is the right one:
: #include
: #include
: int main()
: {
: int i=3;
: int a=10*abs(i-1);
: float b= -10.0*abs(i-1);

k*k
发帖数: 508
16
LOL

【在 t****t 的大作中提到】
: 真的是找一句正确的话都很困难啊。
:
: abs
: one:

1 (共1页)
进入Programming版参与讨论
相关主题
问一个python的string split问题A question about cost char*
刚看完类这一章,有些大小问题,请指教,谢谢Adobe中国公司关闭(烙印又下黑手了) (转载)
C++ 初级再初级问题Linus Torvalds因内核注解标点格式发飙 solidot teikaei 21小时54分钟前 Linus Torvalds在Linux内核邮件开发者列表上再次发飙,将部分程序员偏爱的代码注解标点格式称为“脑残”。他强烈反对的注解格式类似:/* This is disgusting drug-induced * crap, and should die */(具体见下图) http://static.cnbetacdn.com/article/2016/0713/00a2039be872
C++一问[转载] Re: 密码学领域重大发现:山东大学王小云教授成功
帮忙找个错c++ define question
char s[]和char *ps的不同C++ 科学计算中的常量
关于在C中定义常量问个字符串的基本问题
这个C++程序为什么不能运行TIJ上写错了?
相关话题的讨论汇总
话题: abs话题: int话题: 10话题: printf话题: solidot