> gcc -nostdinc -Wall -o test test.c test.c: In function `main': test.c:2: warning: implicit declaration of function `printf' test.c:2: warning: implicit declaration of function `strtod' test.c:2: warning: double format, different type arg (arg 2) test.c:3: warning: control reaches end of non-void function > ./test 0.000000 > uname -a FreeBSD *** 5.3-STABLE FreeBSD 5.3-STABLE #16: Fri Nov 12 22:01:41 MSK 2004 > gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.2 [FreeBSD] 20040728
притом gcc 3.4.2 на Linux'е честно возвращает ахинею ;>
> cat 1.c main() { printf( "%f\n", strtod( "0", 0 ) ); } > gcc -o 1 -Wall 1.c 1.c:2: warning: return-type defaults to `int' 1.c: In function `main': 1.c:3: warning: implicit declaration of function `printf' 1.c:3: warning: implicit declaration of function `strtod' 1.c:3: warning: double format, different type arg (arg 2) 1.c:4: warning: control reaches end of non-void function > ./1 0.000000 > gcc -v Reading specs from /usr/lib/gcc-lib/i386-unknown-linux/2.95.3/specs gcc version 2.95.3 20010315 (release)
печатает платформенно-зависимую чушь при выполнении, warning при компиляции, ругательства при code review, настойчивые просьбы не пихать везде FP при design review. В обратном порядке.
(Анонимно)
2004-12-10 10:00 (местное)
(81.211.90.2)
RTFM.
include пушкин писать будет?
по умлчанию (если нет декларации) считается, что возвращается int.
tobotras
2004-12-10 10:03 (местное)
(Анонимно)
2004-12-10 10:31 (местное)
(81.211.90.2)
А что, была б какая-то ЛЖная аброкадабра -- что поменялось бы? :)
Все одно ж мы на 90% взаимно не знакомы.
maxcom
2004-12-10 10:05 (местное)
kent_turbo
2004-12-10 10:18 (местное)
rmrfchik
2004-12-10 10:18 (местное)
(lambda (make-eres x)
(lambda (y)
(+ (sin y) x)))
kent_turbo
2004-12-10 10:17 (местное)
Реально печатает -1.999210.
Хорошая шутка, ага. :)
dil
2004-12-10 10:20 (местное)
А если добавить правильный include, тогда 0.000000
bobuk
2004-12-10 10:21 (местное)
как это ни смешно, зависит от компилятора и OS
erra
2004-12-10 10:23 (местное)
test.c: In function `main':
test.c:2: warning: implicit declaration of function `printf'
test.c:2: warning: implicit declaration of function `strtod'
test.c:2: warning: double format, different type arg (arg 2)
test.c:3: warning: control reaches end of non-void function
> ./test
0.000000
> uname -a
FreeBSD *** 5.3-STABLE FreeBSD 5.3-STABLE #16: Fri Nov 12 22:01:41 MSK 2004
> gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728
притом gcc 3.4.2 на Linux'е честно возвращает ахинею ;>
вот
sha90w
2004-12-10 10:33 (местное)
main()
{
printf( "%f\n", strtod( "0", 0 ) );
}
> gcc -o 1 -Wall 1.c
1.c:2: warning: return-type defaults to `int'
1.c: In function `main':
1.c:3: warning: implicit declaration of function `printf'
1.c:3: warning: implicit declaration of function `strtod'
1.c:3: warning: double format, different type arg (arg 2)
1.c:4: warning: control reaches end of non-void function
> ./1
0.000000
> gcc -v
Reading specs from /usr/lib/gcc-lib/i386-unknown-linux/2.95.3/s
gcc version 2.95.3 20010315 (release)
Re: вот
tobotras
2004-12-10 10:35 (местное)
> gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)
А печатает фигню. Надо обдумать, от чего это зависит.
дауж...
sha90w
2004-12-10 10:38 (местное)
-1.999184
mci@drak:~$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.4/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,o
Thread model: posix
gcc version 3.3.4 (Debian 1:3.3.4-13)
Re: вот
dottedmag
2004-12-10 10:51 (местное)
Re: вот
tobotras
2004-12-10 10:54 (местное)
Мелкомягкая шестая студия нолик выдает
dadcaptain
2004-12-10 10:45 (местное)
Re: Мелкомягкая шестая студия нолик выдает
cvs
2004-12-10 13:03 (местное)
dottedmag
2004-12-10 11:11 (местное)
[mag@vertex:~]$ gcc -Os -fomit-frame-pointer -o 1 1.c
[mag@vertex:~]$ ./1
2.425766
[mag@vertex:~]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.4/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,o
Thread model: posix
gcc version 3.3.4 (Debian 1:3.3.4-13)
dado
2004-12-10 12:27 (местное)
почему.. а почему бы и нет?
xfyre
2004-12-10 17:38 (местное)
прикольно
msh
2004-12-10 23:40 (местное)
k001
2004-12-11 05:20 (местное)
[kir@localhost ~]$ ./x
-325196583910286899872763320211688713557
[kir@localhost ~]$ gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.2/spe
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
На другой машинке
[kir@kir kir]$ ./x
-300715123584378784403125280711876406565
[kir@kir kir]$ gcc -v
Reading specs from /usr/lib/gcc-lib/athlon-asplinux-linux/3.3.3/s
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --disable-libunwind-exceptions --with-system-zlib --enable-__cxa_atexit --host=athlon-asplinux-linux
Thread model: posix
gcc version 3.3.3 20040216 (Red Hat Linux 3.3.3-2)
На третьей машинке примерно как и у всех:
mmx ~ # ./x
-1.998924
mmx ~ # gcc -v
Reading specs from /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.4/s
Configured with: /var/tmp/portage/gcc-3.3.4-r1/work/gcc-3.3.4/c
Thread model: posix
gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)