crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Неизвестный тип
ido
  опции профиля:
сообщение 23.3.2011, 20:27
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 7.4.2010
Пользователь №: 1602

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всё кажется понял.
Например, есть функция
 va_start (args, message_format);
      msg = g_strdup_vprintf (message_format, args);
      va_end (args);

Макросы va_start/va_end – поддержка рантайма. Они прогоняют аргументы функции через стэк.
 #define va_arg(v,l)    __builtin_va_arg(v,l)

 /* varargs.h. */
#ifndef __va_list__
#define __va_list__
typedef char *va_list;
#endif
#define va_dcl int va_alist;
#define va_start(list) list = (char *) &va_alist
#define va_end(list)
#define va_arg(list,mode) ((mode *)(list += sizeof(mode)))[-1]

Только __builtin_va_arg теряется где-то в парсерах/лексерах.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.4.2024, 2:51