LINUX.ORG.RU

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

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

Что значит зачем? Чтобы деление работало, например.

Я про строки в switch-case

Что такое «чистый язык без стандартных библиотек»?

Когда конструкции языка не требуют подключения библиотек и от них можно отказаться. -ffreestanding -nostdlib -nostartfiles -fno-builtin

Принцип: конструкции языка не требуют никаких библиотек с кодом для их реализации.

Например, в Си можно написать программу без всяких printf(). И даже, если указать линковщику, что будет точкой старта, то и без main():

void _start()
{
    /* low level code without printf() and other, even main() */
    while (1)
    {
        /* infinite loop */
    }
}

Это полноценная программа. Её можно откомпилировать без стандартных библиотек

gcc -ffreestanding -nostdlib -e _start -o nomain  nomain.c

Появление switch case со строками потребует включения функций работы со строками. Или через подключение стандартной библиотеки или через вставку дополнительного кода повсюду, где встретится эта конструкция.

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

Что значит зачем? Чтобы деление работало, например.

Я про строки в switch-case

Что такое «чистый язык без стандартных библиотек»?

Когда конструкции языка не требуют подключения библиотек и от них можно отказаться. -ffreestanding -nostdlib -nostartfiles -fno-builtin

Принцип: конструкции языка не требуют никаких библиотек с кодом для их реализации.

Например, в Си (правда не уверен насчёт отказа от main - это по стандарту или gcc-изм) можно написать программу без всяких printf(). И даже, если указать линковщику, что будет точкой старта, то и без main():

void _start()
{
    /* low level code without printf() and other, even main() */
    while (1)
    {
        /* infinite loop */
    }
}

Это полноценная программа. Её можно откомпилировать без стандартных библиотек

gcc -ffreestanding -nostdlib -e _start -o nomain  nomain.c

Появление switch case со строками потребует включения функций работы со строками. Или через подключение стандартной библиотеки или через вставку дополнительного кода повсюду, где встретится эта конструкция.