Ошибки, баги, вопросы - страница 2872

ME иногда падает (несколько месяцев так) при нескольких нажатиях ALT+LEFT.

При этом не сохраняются вкладки открытых перед падением файлов.

Ошибка при компиляции:
#define \ //Error: '\' - illegal escape sequence
LENGHT 100
Ошибка при компиляции:
typedef void (*f)();
typedef void (*g)();
void h( g f ) { f(); } //Error: '(' - name expected


EX5 loading failed

Критическая ошибка при выполнении

struct pack(8) A {
typedef void (*fn)();
        fn f;
};
void OnStart() {}

Результат: EX5 loading failed

A100:

Влияет ли на скорость выполнения выравнивание структур?

fxsaber:

Влияет ли на скорость выполнения выравнивание структур?

Влияет в некоторых случаях, вот цитата: "В большинстве случаев не нужно беспокоиться о выравнивании, так как выравнивание по умолчанию уже оптимально. Однако в некоторых случаях можно добиться значительного улучшения производительности или экономии памяти, указав пользовательское выравнивание для структур данных"

A100:

Влияет в некоторых случаях, вот цитата: "В большинстве случаев не нужно беспокоиться о выравнивании, так как выравнивание по умолчанию уже оптимально. Однако в некоторых случаях можно добиться значительного улучшения производительности или экономии памяти, указав пользовательское выравнивание для структур данных"

Хоть бы один пример такого.

fxsaber:

Хоть бы один пример такого.

У меня выравнивание из-за необходимости - цитата из документации: "Выравнивание полей структуры может понадобится при обмене данными со сторонними библиотеками (*.DLL), в которых такое выравнивание применяется."

Попробуйте методом тыка перебрать все значения pack и сравнить скорость

A100:

Попробуйте методом тыка перебрать все значения pack и сравнить скорость

Нужно определиться, какой код замерять.

Если правильно понимаю, то выравнивание классов не предусмотрено. Т.е. вполне возможно, что при работе с массивом объектов классов (не указателей) может быть резонно поля класса заменить на выравненную структуру.

В общем, не в теме.