-- Leo's gemini proxy

-- Connecting to tilde.pink:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;

2024.02.11 Sun 09:32 Hello world without a strings in C


There is commonly shared opinion that null terminated strings are bad. Mainly because of all those buffer overflow hacks but also people find them hard to work with. C programming language is criticized for it as null termination is the default goto solution for strings in C standard library. You don't have to use null terminated strings if you forsake standard library.


Anyway, who need strings, right? The REAL PROGRAMMERS [1] only work with numbers. And so with 3 integers you can have the one and only - General Kenobi!


$ cat -n hello-there.c
     1	int main(void) {
     2		int write(int,void*,int);
     3		int msg[]={0x6c6c6548,0x6854206f,0x0a657265};
     4		return write(1,msg,sizeof(msg)) < 0;
     5	}
$ gcc hello-there.c && ./a.out
Hello There

I CHALLENGE YOU 🫵 TO WRITE A CRAZIER VERSION!


Too simple for your taste? Well then, be my guest and create more obfuscated hello world program using those secret forbidden dark side techniques. You have my permission.


[1] Real Programmers

-- Response ended

-- Page fetched on Sun May 19 16:30:46 2024