Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Visual C++ Распространение ПО (deployment) http://www.cyberforum.ru/visual-cpp/thread67854.html
Как по мне, чем дальше, тем больше головной боли с установкой ПО на другой компьютер. Когда-то баловался с Visual Basic 6. Создание инсталляции средствами IDE было мучением, но я разобрался, как...
Visual C++ while плиз помогите! написать прогу условие ИСПОЛЬЗУВАТЬ WHILE=-O Написать програму каторая переводит число нее болие 255 в двойкову систему вичисление меодом отнимание.Програма должна... http://www.cyberforum.ru/visual-cpp/thread67779.html
Visual C++ Что означает это ошибка?
VS C++ 6. Что означет эта ошибка? я создаю элементарную программу, в которой не может быть ошибок, а компилятор всё равно выдаёт мне эту ошибку. Помогите разобраться... fatal error C1010: unexpected...
Свой ActiveX + TabControl + FlexGrid Visual C++
Всем привет! Прошу всех кто может помочь мне вот в каком вопросе. Создал свой ActiveX на VC++6.0 на основе стандартного компонента Tab Control (SysTabControl32), создал пару вкладок-диалогов, все...
Visual C++ символ конца строки и буква "я" http://www.cyberforum.ru/visual-cpp/thread67522.html
Я пишу следующую программу : она должна открывать файл, являющийся программой С++, удалять из нее все комментарии и результат записывать в новый файл. Собственно, программу я написал, но вот...
Visual C++ Чтение группы байтов из файла Необходимо прочитать 4 байта из двоичного файла. Открываю файл и ставлю указатель в нужное место (если я всё правильно понимаю), как дальше прочитать 4 байта и вывести их на экран (4 байта это число... подробнее
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
28.11.2009, 16:45 0

Использование #pragma pack(push,1)... pack(pop)

28.11.2009, 16:45. Просмотров 45353. Ответов 51
Метки (Все метки)

Ответ

хм... да не о том речь...
я знаю в чем отличие.
1)см. первый авторский пост - речь шла о работе с файлами.
2)мне не хватает фантазии представить программу, у которой часть структур будет выровнена на 1 байт, а часть - на 2/4, так, чтобы это значимо сказывалось на скорости исполнения.
ну, если ты пишешь программу, работающую быстро - оптимизируй на скорость и выравнивай на 2/4;
если мало места - оптимизируй на экономичность и выравнивай на 1 байт;
на кой фиг нужна директива, меняющая выравнивание отдельно взятой структуры - ума не приложу.
единственный вариант, который приходит в голову - это База данных, но...
там ПРИХОДИТСЯ выравнивать структуры в файле на 1 байт, иначе диска не хватит.
а чтобы еще и в памяти доступ быстро шел приходится писать СОБСТВЕННЫЕ функции считывания/записи, т.к. в этом случае данные в памяти и в файле хранятся в немного разных форматах.
вот и получается...
нафиг эта директива не нужна, а для сохранения/восстановления структур лучше делать собственные функции.

Вернуться к обсуждению:
Использование #pragma pack(push,1)... pack(pop)
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2009, 16:45
Готовые ответы и решения:

[variadic pack][cdecl]
доброе утро. рассмотрим код: http://rextester.com/ATJJT68666 ...

Распаковка parameter pack в наследуемых типах
Есть класс наследуемый от переменного количества типов. Я не могу понять как...

Обработка parameter pack через функции
Суть - надо напечатать определенный аргумент (допустим третий) с пакета...

#pragma
Научите пользоваться этой штуковиной. Интересует для начала что означает само...

Pragma comment()
Добрый день! Подскажите, пожалуйста, как быть, если компановщик игнорирует...

51
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru