LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Точно. Тогда вообще 2КБ остаётся.

Кстати, на С можно получить даже 1536 байт:

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

int WINAPI mainCRTStartup() {
   char msg[] = "desktop_ini.exe folder\n";
   HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE);
   WriteFile(stdout, msg, sizeof(msg), (DWORD[]){0}, NULL);
   return 0;
}
clang -c -Oz main.c -o small_c.clang.o -nostdlib -ffreestanding -fno-stack-check -fno-stack-protector -mno-stack-arg-probe
link small_c.clang.o kernel32.lib /SUBSYSTEM:CONSOLE
strip small_c.clang.exe

С gcc у меня меньше 3584 байт не получилось создать «Hello World!» 😔

Исходная версия fsb4000, :

Точно. Тогда вообще 2КБ остаётся.

Кстати, на С тоже можно получить 2048 байт как на Zig:

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

int WINAPI mainCRTStartup() {
   char msg[] = "desktop_ini.exe folder\n";
   HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE);
   WriteFile(stdout, msg, sizeof(msg), (DWORD[]){0}, NULL);
   return 0;
}
clang -c -Oz main.c -o small_c.clang.o -nostdlib -ffreestanding -fno-stack-check -fno-stack-protector -mno-stack-arg-probe
link small_c.clang.o kernel32.lib /SUBSYSTEM:CONSOLE

С gcc у меня меньше 3584 байт не получилось создать «Hello World!» 😔