Add 1988/spinellis/spinellis.alt.c for clang
This was fun to do even though it's also a very simple one liner plus
special handling in the Makefile (the latter part is so you can use it
the exact same way as the original). The original code just #included
/dev/tty. This does something just as magical! It can be used like:
make alt
# some C code
^D
./spinellis
For instance:
make alt
#include <stdio.h>
int main() { puts("hello world"); }
^D
./spinellis
Now those with clang can enjoy the entry without any functional
difference.
I have a very twisted point to make about the original version and this
version too: with a very slight change one can actually make a C++
version. Ick! :-)
This commit is contained in:
1 parent
ee249da4ea
commit
6e206fc25a
4 files changed
+36
-14
No files matched your search
+28
-12
@@ -10,11 +10,11 @@
|
||||
|
||||
make all
|
||||
|
||||
and then type a C program into followed by EOF two times (`^D^D`).
|
||||
|
||||
NOTE: this entry will not compile with clang. Also be advised that gcc in macOS
|
||||
is actually clang so this will not work even with the default compiler in macOS.
|
||||
and then type a C program into followed by EOF (usually `^D`, ctrl-d).
|
||||
|
||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) made a version (also
|
||||
one-line) for clang. See the alternative code section below for how to use.
|
||||
Thank you Cody for your assistance!
|
||||
|
||||
## Try:
|
||||
|
||||
@@ -35,23 +35,39 @@ is actually clang so this will not work even with the default compiler in macOS.
|
||||
printf("%d\n", i);
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
|
||||
## Alternative code:
|
||||
|
||||
For clang try the alt code like:
|
||||
|
||||
make clobber alt
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
puts("Hello world\n");
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
|
||||
|
||||
## Judges' comments
|
||||
|
||||
## Judges' comments:
|
||||
|
||||
We enjoyed this entry this year, however in the future programs must be able to
|
||||
be compiled from within a Makefile without the need of human intervention.
|
||||
|
||||
The author originally wrote:
|
||||
Meanwhile Cody was twisted enough to point out (though to be fair he felt sick
|
||||
doing this) that with a slight modification this entry can be C++ instead. We don't
|
||||
thank him for this ghastly point! :-)
|
||||
|
||||
This program can be configured to do almost everything.
|
||||
The configuration is done during compile time by typing
|
||||
in, C code, that one would like the program to perform.
|
||||
A trivial example is given in the `how to compile' section
|
||||
but the possibilities are clearly limited only by your
|
||||
imagination and programming skills.
|
||||
## Author's comments:
|
||||
|
||||
This program can be configured to do almost everything. The configuration is
|
||||
done during compile time by typing in, C code, that one would like the program
|
||||
to perform. A trivial example is given in the `how to compile' section but the
|
||||
possibilities are clearly limited only by your imagination and programming
|
||||
skills.
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
|
||||
Reference in new issue
Block a user