История изменений
Исправление hateyoufeel, (текущая версия) :
Компилятор не знает смысл строки форматирования
gcc и шланг уже знают. Там для этого костылей добавили. Смотри атрибут format здесь: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
Как будет происходить обработка аргументов это дело алгоритма, а чистит стек низкоуровневый асемблерный код, генерируемый компилятором на низком уровне, где про алгоритм ничего не может быть известно.
Вообще, можно передавать количество аргументов. Можно сделать языковую конструкцию, возвращающую их число. Но сишники не ищут лёгких путей! То, что даже в C++ это всё уже есть в виде initializer_list, и проще сделать всем сишным файлам расширение .cc
и использовать плюшки, сишников вообще не смущает.
Исходная версия hateyoufeel, :
Компилятор не знает смысл строки форматирования
gcc и шланг уже знают. Там для этого костылей добавили. Смотри атрибут format здесь: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
Как будет происходить обработка аргументов это дело алгоритма, а чистит стек низкоуровневый асемблерный код, генерируемый компилятором на низком уровне, где про алгоритм ничего не может быть известно.
Вообще, можно передавать количество аргументов. Можно сделать языковую конструкцию, возвращающую их число. Но сишники не ищут лёгких путей!