Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Размер структуры можно изменить, если поиграться с порядком объявления членов структуры

Например, у нас есть простая структура:

struct A
 {
  bool a;
  int b;
  bool c;
 }; // sizeof (A) == 12
 

На моей машине, sizeof (A) равняется 12. Данный результат немного удивляет, так как в сумме переменные данной структуры занимают всего 6 байт: 1+4+1 байт. Откуда добавились ещё шесть байт? Оказывается, компилятор после каждой переменной bool добавляет ещё три байта, таким образом делая выравнивание на границу слова. Однако можно уменьшить размер структуры A путём изменения порядка объявления переменных следующим образом:

struct B
 {
  bool a;
  bool c;
  int b;
 }; // sizeof (B) == 8
 

Теперь компилятор добавит только два байта после переменной c. Так как b занимает четыре байта, то она и бес того удовлетворят выравниванию и компилятору нет необходимости добавлять к ней дополнительные байты.

 

 





<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU Проект ReactOS