The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект Mozilla представил релиз компилятора для языка програ..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Проект Mozilla представил релиз компилятора для языка програ..." +/
Сообщение от Ваня (??), 25-Янв-12, 12:12 
Вовсе нет... 8-байтный указатель сохранили как верхнюю и нижнюю часть чтобы не писать в коде макросы, теперь:

Без этого ухищерения пришлось бы писать конструкции вида:

// запись
s.Pointer = (s.Pointer & 0xFFFFFFFF) | low;
s.Pointer = (s.Pointer & 0xFFFFFFFF00000000) | (high << 32);

// чтение
low = s.Pointer & 0xFFFFFFFF;
high = (s.Pointer & 0xFFFFFFFF00000000) >> 32;

А так получаем элегантный код:
s.offset = low;
s.offsetHi=high;

low=s.offset;
high=s.offsetHi;

Какое решение нравится вам? Мне второе, с использованием union.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проект Mozilla представил релиз компилятора для языка програ..., opennews, 24-Янв-12, 11:56  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру