Как использовать Alignas для замены Pragma Pack?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать Alignas для замены Pragma Pack?

Сообщение Anonymous »

Я пытаюсь понять, как следует использовать Alignas, мне интересно, может ли это быть заменой для Pragma Pack, я изо всех сил старался проверить его, но без удачи. Используя GCC 4.8.1 (http://ideone.com/04mxpi), я всегда получаю 8 байтов для ниже Stestalignas, а с Pragma Pack - 5 байтов. Что я хотел бы достичь, так это сделать SizeOf (SteStAlignas) return 5. Я попытался запустить этот код на Clang 3.3 (http://gcc.godbolt.org/), но я получил ошибку:
!! Ошибка: запрошенное выравнивание меньше, чем минимальное выравнивание 8 для типа 'long' - чуть ниже использования Alignas. < /p>

Так что, возможно, есть Минимальное значение выравнивания для Alignas?

Код: Выделить всё

#include 
#include 
using namespace std;

#pragma pack(1)
struct STestPragmaPack {
char c;
long d;
} datasPP;
#pragma pack()

struct STestAttributPacked {
char c;
long d;
} __attribute__((packed)) datasAP;

struct STestAlignas {
char c;
alignas(char) long d;
} datasA;

int main() {
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/18978006/how-to-use-alignas-to-replace-pragma-pack[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • #pragma fenv_access (включено) и #pragma STDC FENV_ACCESS ON
    Anonymous » » в форуме C++
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Выравнивание памяти: как использовать alignof/alignas?
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • VS2019 alignas в определении структуры отменяет пакет прагмы
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • GCC и MSVC принимают «alignas», тогда как Clang отклоняет их.
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Я пытался использовать pack (), но это не дает мне результата, который я хотел
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»