crossplatform.ru

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

ido
  опции профиля:
сообщение 19.3.2011, 15:37
Сообщение #1


Студент
*

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

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




Репутация:   0  


При подключении gdktypes.h из gtk+-2.2 в препроцессорном листинге есть строки

typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;

У __builtin_va_list неизвестен базовый тип. В каком файле его можно найти?

P.S. gcc 4.1.1
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 20.3.2011, 20:22
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

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




Репутация:   12  


насколько мне известно, исходя из данных, в va_arg/va_list тип определить невозможно. тип должен определяться как-то извне. в printf и т.п. для этого парcится строка с форматом. если формат не совпадает - возникает ошибка обращения к памяти.

Сообщение отредактировал Iron Bug - 20.3.2011, 20:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ido
  опции профиля:
сообщение 21.3.2011, 8:22
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(Iron Bug @ 20.3.2011, 20:22) *
в printf и т.п. для этого парcится строка с форматом.
Т.е парсится во время компиляции каким-то макросом, размещается в некой структуре по каким-то правилам? Тогда в исходниках(gcc) должна быть последовательность выполняемых операций.

В ChangeLog’e gcc-2.95 есть единственное упоминание:

ginclude/varargs.h(va_dcl):
Use word_mode for type of __builtin_va_list

В gcc-3.3 много, где используется. Используется, но не определяется. Вот, пример из c-common.c:

(* lang_hooks.decls.pushdecl)
(build_decl (TYPE_DECL, get_identifier("__builtin_va_list"), ptrdiff_type_node));

Но, что бы это значило…

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 9.5.2025, 4:31