Re:Chrome browser for businesses
by groovy2shoes on Sunday January 01, 2017 @12:28AM
(#13294794)
Yup. Likewise, the version of `wc` from Kernighan & Plaugher's «Software Tools in Pascal» still compiles and runs with any ol' ISO Pascal compiler, and still does exactly what the manpage says it does.
As an aside, I'm pretty sure K&R C is a subset of ANSI C, so any ANSI C compiler should be able to compile K&R C.
Re:Chrome browser for businesses
by qwertyuiop924 on Sunday January 01, 2017 @08:34AM
(#13295675)
>pretty sure K&R C is a subset of ANSI C,
Not so, AFAICT. For one thing, K&R function declarations looked like this:
int main(argc, argv)
int argc, char **argv
{
...
}
Ever wonder where 1TBS came from?Also, in K&R, function prototypes didn't list args.
Re:Chrome browser for businesses
by groovy2shoes on Sunday January 01, 2017 @11:52AM
(#13296255)
Yes, function declarations did look like that. And GCC accepts it totally silently in pedantic ANSI C mode, not even warnings:
11:44:57 cory@tizona /home/cory/Workspace/test
$ cat knr.c
#include <stdio.h>
main(argc, argv)
int argc;
char **argv;
{
int z = foo(3, 4);
printf("foo is %d\n", z);
}
foo(x, y)
{
return x + y;
}
11:44:59 cory@tizona /home/cory/Workspace/test
$ gcc -std=c89 -pedantic -o knr knr.c
11:45:07 cory@tizona /home/cory/Workspace/test
$ ./knr
foo is 7
11:45:11 cory@tizona /home/cory/Workspace/test
$ gcc -v
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/5.3.0/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/5.3.0/lto-wrapper
Target: x86_64-slackware-linux
Configured with: ../gcc-5.3.0/configure [...]
Thread model: posix
gcc version 5.3.0 (GCC)
I seem to recall the compatibility was deliberate on the part of the ANSI C WG, for hopefully obvious reasons.
Re:Chrome browser for businesses
by qwertyuiop924 on Monday January 02, 2017 @09:11AM
(#13301204)
Huh. Didn't know that. Okay...
But you could pull in wc from V7 on modern computers, and it would still work. (assuming GCC can still compile K&R C).