From 57e9ffacf326cac39924706fa28a5611be4ba8b9 Mon Sep 17 00:00:00 2001
From: Landon Curt Noll If you have gcc < 2.3.3 you can build this entry like: This will create a file called This will try to create a file whose actual filename is literally: When that file is compiled, it will greet the world in the
+traditional fashion of C. For an explanation of why and how this works see the author’s remarks. The gist
-of the entry itself, however, is the file name itself is the code. NOTE: we delete the temporary file whether or not the compilation succeeds
-because it is an unsafe filename and not doing so would cause problems for
-anyone running This entry will not compile with gcc < 2.3.3 as it relies on a bug which was
-fixed in gcc 2.3.3 which was fixed a very long time ago now. There is an
-alternate version for those of
-us with gcc >=
-2.3.3. See Alternate code section below for more details. However, there is an another version that will be compiled in the extremely
-likely case this fails. This should happen automatically. See Alternate
-code below for more details on it.make all";main(){puts("Hello World!");}char*C=".c which
-would print Hello World! when compiled.
+";main(){puts("Hello World!");}char*C=".cmake.
NOTE: We delete the temporary file as part of make all whether
+or not the compilation succeeds. This is a Makefile feature
+that might bug anyone running the make command. :-)
This entry will not compile with gcc version >= 2.3.3 as it relied +on a bug which was later fixed in gcc 2.3.3, and that happened +a long time ago (.. in a galaxy far, far away?).
+If make all fails to compile, a suggestion of compiling and running
+the alternate version is printed. This alternate version is a variant
+for those of us
+with gcc >= 2.3.3 or using clang. See Alternate code
+section below for more details.
The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
For more detailed information see 1993 lmfjyh bugs.
If you have gcc < 2.3.3 (i.e. the entry can compile):
-./lmfjyh./lmfjyhThis version does what the code did but in a way that will work with modern compilers. We’d like to say there’s something special about it but there isn’t. -Nonetheless it will be compiled in case the original entry fails to compile -(which will happen unless you have gcc < 2.3.3.
+Nonetheless it will be compiled in case the original entry fails to compile.Should you wish to build this version manually:
-make altmake altUse lmfjyh.alt as you would lmfjyh above. Note that other code could also be
done with the bug that the entry abuses but that would have to be manually
@@ -187,10 +188,10 @@ best with C-source code.
As an example, I have taken a simple “Hello world!” program that should be familiar to all C-programmers.
main()
-{
- puts("Hello World!");
-}main()
+{
+ puts("Hello World!");
+}Normally a file name is used only to identify the file, but this new revolutionary method introduces a totally new concept: THE FILE NAME IS THE @@ -198,9 +199,9 @@ PROGRAM. There is no need to waste valuable disk space to store source The program is embedded in the file name, only a minor portion of it is inside the file.
char*_=__FILE__;char*_=__FILE__;";main(){puts("Hello World!");}char*C=".c";main(){puts("Hello World!");}char*C=".cThe sample program in listing 1 is 36 bytes long. By using the new compression method, the example program may be squeezed to sixteen bytes. In the example the compression ratio is 2:1. It is evident