Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2015, 02:19   #41
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Цитата:
Сообщение от 220Volt Посмотреть сообщение
Предоположу, что функция может заинлайниться и логика сломается (в случае, когда не используются va_start, va_arg, va_end). Проверить не сложно, но времени на проверку нет.
Хотя вряд ли. Такие функии не инлайнятся (вероятно, не проверял). va_ функции, наверное, нужны для срытие различных низкоуровневых особенностей, например выравнивание. Возьмём структуру:
Код:
struct S
{
    int i;
    double d;   
};
Выравнивание этой структуры будет либо 4, либо 8 (зависит от архитектуры). А теперь представим, что мы вызываем функцию и кладём в стек int и S за ним (int попал в адрес некратный 8). В зависимости от архитектуры между int и S будет вставлено 4 байта.
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить функцию, подсчитывающую количество слов списка, которые начинаются и оканчиваются одной и той же буквой Dark Illusion Паскаль, Turbo Pascal, PascalABC.NET 0 18.03.2013 23:26
узнать количество значений которые вернул SimpleDataSet Kreadlling БД в Delphi 1 13.04.2012 09:47
как прервать выполнение всех функций которые были запущены setTimeout Arassir JavaScript, Ajax 1 20.10.2011 16:20
узнать количество слов, которые содержат букву "у". C++ kop Помощь студентам 0 14.05.2011 09:12
как работать с компанентами, которые были созданы программно? morgonXak Компоненты Delphi 6 20.12.2010 18:38