Как функция с 'varargs' может извлечь содержимое стека?
Обычно в Delphi можно было бы объявить функцию с переменным числом аргументов, используя метод «массив констант». Тем не менее, для совместимости с кодом, написанным на C, есть очень неизвестная директива varargs, которую можно добавить к объявлению функции (я узнал об этом, читая отлично Руди)Подводные камни конверсии'документ).
Как пример, можно было бы иметь функцию в C, объявленную как это:
void printf(const char *fmt, ...)
В Delphi это станет:
procedure printf(const fmt: PChar); varargs;
Мой вопрос: как я могу получить содержимое стека при реализации метода, который определен с помощью директивы varargs?
Я ожидаю, что для этого есть какой-то инструментарий, например, переводы Dephi функций va_start (), va_arg () и va_end (), но я не могу найти это нигде.
Пожалуйста помоги!
PS: Пожалуйста, не отвлекайтесь на дискуссии об альтернативе «почему» или «массив констант» - мне нужно это для написания патчей типа C для функций в играх Xbox (см. Проект эмулятора Delphi Xbox 'Dxbx' на sourceforge) для деталей).