crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Где взять список #pragma, для MinGW и msvc
evg123
  опции профиля:
сообщение 21.6.2010, 13:34
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 29.4.2009
Из: Минск
Пользователь №: 714

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




Репутация:   0  


Роюсь тут в нете, не могу найти списки #pragma для мингвина и msvc. Интересуют в общем-то прагмы, касающиеся выравнивания границ структур и юнионов. Но по ходу захотелось увидеть списки директив целиком. Что-то пока не могу найти внятных описаний. если кто знает - укажите плиз.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.6.2010, 13:57
Сообщение #2


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

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


обычный приём выравнивания в студии
#pragma pack(push,N)//сохранить текущее выравнивание и установить выравнивание в N байтов
struct/class/union  имя
{
   ...
};
#pragma pack(pop)//восстановить старое выравнивание




Список прагм http://msdn.microsoft.com/en-us/library/d9x1s805.aspx

Кстати, будь осторожен, если работаешь со структурами/классами, содержащими виртуальные методы (частенько делают виртуальный деструктор), так как таблица виртуальных переходов располагается в начале тела экземпляра :) Это надо учитывать, если хочешь "накладывать" данные на структуру для парса.

Сообщение отредактировал Алексей1153 - 22.6.2010, 20:31
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evg123
  опции профиля:
сообщение 22.6.2010, 20:28
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 29.4.2009
Из: Минск
Пользователь №: 714

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




Репутация:   0  


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

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 0:15