У кого-либо есть информация о Поддержке Linux в следующей версии Delphi?

Установка немного

Использование оператор (|) битового "ИЛИ" для установки немного.

number |= 1UL << n;

, Который установит n th бит [1 110]. n должен быть нуль, если Вы хотите установить 1, стоун укусил и так далее [до 1 113], если Вы хотите установить n, th укусил.

Использование 1ULL, если number более широко, чем [1 117]; продвижения [1 118] не происходит до окончания оценки 1UL << n, где это - неопределенное поведение сместиться больше, чем ширина long. То же относится ко всей остальной части примеров.

Очистка немного

Использование поразрядная операция И (&) для очистки немного.

number &= ~(1UL << n);

, Который очистится n th бит [1 123]. Необходимо инвертировать строку битов с оператором (~) битового "НЕ", тогда И этим.

Переключение немного

оператор XOR (^) может использоваться для переключения немного.

number ^= 1UL << n;

, Который переключится n th бит [1 127].

Проверка немного

Вы не попросили это, но я мог бы также добавить его.

Для проверки немного сместите номер n направо, тогда поразрядно И это:

bit = (number >> n) & 1U;

, Который поместит значение n th бит [1 129] в переменную bit.

Изменение nth укусил к [1 149] x

Установка n, th укусил или к [1 132] или к 0, может быть достигнут со следованием 2's дополнительная реализация C++:

number ^= (-x ^ number) & (1UL << n);

Бит n будет установлен, если x будет 1, и очищен, если x 0. Если x имеет некоторое другое значение, Вы получаете мусор. x = !!x будет booleanize это к 0 или 1.

Для создания этого независимого политика 2's дополнительное поведение отрицания (где -1 имеет весь набор битов, в отличие от этого, на 1's дополнение или реализация C++ знака/величины), используйте неподписанное отрицание.

number ^= (-(unsigned long)x ^ number) & (1UL << n);

или

unsigned long newbit = !!x;    // Also booleanize to force 0 or 1
number ^= (-newbit ^ number) & (1UL << n);

Это обычно - хорошая идея использовать неподписанные типы для портативной побитовой обработки.

или

number = (number & ~(1UL << n)) | (x << n);

(number & ~(1UL << n)) очистится n, th укусил, и (x << n) установит n, th укусил к [1 146].

Это - также обычно хорошая идея не скопировать/вставить кодировать в целом, и столько людей использует макросы препроцессора (как [1 147] сообщество ответ Wiki далее вниз ) или своего рода инкапсуляция.

5
задан Johan Bresler 30 July 2009 в 09:08
поделиться

7 ответов

В дорожной карте Delphi есть четыре проекта:

  • Delphi Weaver (поддержка Firebird, улучшенный RTTI, Windows 7 API)
  • Delphi X (кросс-платформенный )
  • Delphi Chromium (Качество)
  • Delphi Commodore (64-битный компилятор, улучшенная поддержка многопоточности)

Вы ищете Delphi X, но неизвестно, когда он появится вне. Следующей версией Delphi станет Delphi Weaver.

6
ответ дан 18 December 2019 в 10:47
поделиться

Это столько, сколько есть в открытом доступе. Марко обычно хорошо осведомлен. Но даты выпуска версии не сообщаются.

Project Weaver

Ориентирован на удобство использования (новая IDE Insight, поддержка Touch), Связь, улучшенная документация, Производительность команды, DataSnap с HTTP, REST-сервер, .NET-прокси для DataSnap, поддерживаются обратные вызовы, dbExpress с родным Firebird поддержка, Аспектно-ориентированное программирование поддержка, интеграция с Subversion, Поддержка Windows 7 и Direct2D, SOAP 1.2 клиенты, улучшенный RTTI

Проект Delphi «X»

Кросс-платформенная поддержка MacOS и Linux , сервер и клиенты на Linux и Mac

Project Chromium

Все о производительности разработчиков, программе форматирования кода Pascal, документация для ToolsAPI, новая Модель привязки данных, интегрированные инструменты БД

Project Commodore

64-битная Windows, компилятор + RTL + VCL, многоядерная поддержка, параллельный RTL

Будущее (далеко)

Облачные вычисления, Web 3.0 ++, за пределами RIA , Устройства, бытовая техника, безопасность, соответствие

Beyond the Beyond

Функциональное программирование, декларативное программирование, естественное ввод, другие платформы…

5
ответ дан 18 December 2019 в 10:47
поделиться

Ничего официального от Embarcadero, но я думаю, что примерно в 2010-2011 годах на основании:

Генеральный директор Embarcadero Уэйн Уильямс сказал в интервью The Register:

Уильямс говорит о кроссплатформенности сейчас более высокий приоритет, чем 64-битный компилятор, хотя оба планируются, и что мы увидим первые кроссплатформенный выпуск в следующем году .

Помимо Роберта Лав в своем блоге комментирует, что касается следующих версий Delphi:

Ничего не было высечено в камне. Эти текущие планы, и они могут измениться. Сроки, которых избегали, кроме одного комментарий был сделан в Q & A ... Они сделали не вижу ничего в этом списке принимая длиннее 201 1. Так что 2-3 года может быть практично, поскольку временные рамки были действительно избегал, я бы не планировал что угодно прямо сейчас.

2
ответ дан 18 December 2019 в 10:47
поделиться

Несколько вещей, которые следует учитывать при прогнозировании Delphi:

В DelphiLive! Ник объявил, что сейчас они изменили способ разработки. Раньше все работали над следующим выпуском. Это усложняло своевременное и качественное выполнение крупных изменений. Таким образом, была бы одна версия с кодовым именем, над которой они работали, и на этом все.

Теперь есть несколько проектов с кодовым именем, которые не обязательно привязаны к конкретному выпуску. Так, например, список проектов с кодовыми именами, которые здесь все предоставили, не обязательно является отдельным выпуском Delphi. Они возьмут те проекты, которые «готовы» когда у них будет релиз и включите их.

Если вам нужна дополнительная информация о дорожной карте, вы можете посмотреть серию видео, которые я снял в DelphiLive! или DelphiLive! Резюме и адрес продукта .

Насколько мы можем ожидать следующего выпуска Delphi, я написал сообщение в блоге об этом, основанное на информации, предоставленной в DelphiLive! ,

Если вы собираетесь использовать эту информацию для планирования покупок Delphi, и в настоящее время у вас нет Delphi 2009, тогда купите Delphi 2009 сейчас (по крайней мере, до 24 августа ). У них есть отличная реклама, и вы можете получить Software Assurance, а затем вы получите все новые версии, которые выйдут в следующем году.

Delphi 2009 - фантастический выпуск, и вы захотите быстро освоить дженерики и Unicode сейчас, чтобы вы могли лучше использовать их в следующих выпусках.

1
ответ дан 18 December 2019 в 10:47
поделиться

В Stack Overflow Podcast # 61 Мигель де Икаса много рассказывает о своей работе над Mono и кратко упоминает Delphi, поэтому можно предположить, что любая кроссплатформенная поддержка будет будет построен вокруг Моно.

1
ответ дан 18 December 2019 в 10:47
поделиться

Раньше они пробовали это с Kylix . Будем надеяться, что история здесь не повторится.

Последнее, что нам нужно, это больше проприетарных приложений для разработки.

-1
ответ дан 18 December 2019 в 10:47
поделиться

Мы в Twinforms обеспечиваем поддержку разработки для Mac и Linux с использованием текущих версий Delphi (для Linux и Mac вам необходимо скомпилировать исходный код с помощью FreePascal). Взгляните на скринкаст, в котором показано, как разработать кросс-платформенное приложение с использованием Delphi и FreePascal - http://twinforms.com/products/wxformsdelphi/screencasts.php

2
ответ дан 18 December 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: