Это из-за дополнения добавленного для удовлетворения ограничений выравнивания. выравнивание Структуры данных влияние и производительность и правильность программ:
SIGBUS
). Вот пример с помощью типичных настроек для x86 процессора (все использовали режимы на 32 и 64 бита):
struct X
{
short s; /* 2 bytes */
/* 2 padding bytes */
int i; /* 4 bytes */
char c; /* 1 byte */
/* 3 padding bytes */
};
struct Y
{
int i; /* 4 bytes */
char c; /* 1 byte */
/* 1 padding byte */
short s; /* 2 bytes */
};
struct Z
{
int i; /* 4 bytes */
short s; /* 2 bytes */
char c; /* 1 byte */
/* 1 padding byte */
};
const int sizeX = sizeof(struct X); /* = 12 */
const int sizeY = sizeof(struct Y); /* = 8 */
const int sizeZ = sizeof(struct Z); /* = 8 */
можно минимизировать размер структур путем сортировки участников по выравниванию (сортирующий по размеру, достаточен для этого в основных типах) (как структура Z
в примере выше).
ВАЖНОЕ ПРИМЕЧАНИЕ: И C и стандарты C++ указывают, что выравнивание структуры определяется реализацией. Поэтому каждый компилятор может принять решение выровнять данные по-другому, приведя к различным и несовместимым форматам данных. Поэтому при контакте с библиотеками, которыми будут пользоваться различные компиляторы, важно понять, как компиляторы выравнивают данные. Некоторые компиляторы имеют настройки командной строки и/или особенный #pragma
операторы для изменения настроек выравнивания структуры.
Вот три решения, которые имеют, работали на меня.
Начальная загрузка Linux от Живого CD или usb и удостоверяется you’ve рабочее Интернет-соединение и вводит следование терминала.
1. Решение
sudo apt-get install syslinux
Если пакет был установлен, используйте следующую команду для записи MBR:
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
2. Решение
sudo apt-get install mbr
Если пакет получил установленное использование после записать MBR.
sudo install-mbr -i n -p D -t 0 /dev/sda
Характерный для оба
Замена sda, если Вы хотите установить MBR на различном диске. Не помещайте sda1
, sda2
, или sda3
. Просто поместите его как sda
для жесткого диска. Наконец перезагрузка и Ваш Windows должны загрузиться.
3. Решение
Восстановление начальной загрузки установки на человечности следующими шагами
Открывает терминал и выполняет следующие команды
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
После завершения установки, можно запустить его из меню System-> Administration-> Boot-Repair, если Вы используете Gnome или ищете "восстановление начальной загрузки" в тире при использовании Единицы. Тогда следуйте следующим снимкам экрана:
Метод 1
Нажимают Apply и Reboot система
Метод 2