LINUX.ORG.RU

Что такое «функция», для начала, если речь идет об языке ассемблера?

anonymous
()
Ответ на: комментарий от Dragon59

Основная часть программы на C, идёт обращение как к обычной функции, но функция прописана в asm'е

Ramzes001 ★★
() автор топика

Нет. Передавай число аргументов первым аргументом. Или иным способом его указывай, как, например, у printf.

geekless ★★
()

Только если заранее известно их число. Хотя можете последовать десятому правилу Гринспена, реализовать списки и передавать аргументы исключительно списками. Тогда все будет хорошо.

buddhist ★★★★★
()
Ответ на: комментарий от bk_

А лисперы вообще бьются головой об стенку.

anonymous
()
Ответ на: комментарий от buddhist

функции с переменным числом аргументов — это нехорошо.

Чем так отличается в хорошую сторону функция с фиксированным кол-вом аргументов от нефиксированного? Что делать с аргументами по-умолчанию? :)

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Я дико намучался с написанием оберток к функциям с переменным числом аргументов :) Если они реализованы как в лиспе или форте, например — это хорошо. Но в Си — это ад.

buddhist ★★★★★
()
Ответ на: комментарий от bk_

Не всегда, например, man прототипы.

anonymous
()
Ответ на: комментарий от buddhist

Но в Си — это ад.

А, я тебя неправильно понял. Да, в языках которые на это не расчитаны и в которых нет сахара для этого это ппц. Я тоже ненавижу то как это сделано в сях. Причём особый пипец из функции с переменным кол-вом аргументов вызывать другую функцию с переменным кол-вом аргументов. И возникают дикие извращения в виде дупликатов функций типа printf и vprintf.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.