Будучи Встроенным с D (язык программирования)

В качестве альтернативы вы можете напрямую перейти в каталог данных и проверить общий размер v3.myd, v3. myi и v3. frm-файлы (для myisam) или v3.idb & amp; v3.frm (для innodb).

23
задан Peter Mortensen 8 October 2009 в 13:33
поделиться

2 ответа

Я должен сказать, что краткий ответ на этот вопрос - «Нет».

  • Если ваши машины 16-битные, у вас возникнут большие проблемы с установкой D в него - он явно не предназначен для этого.
  • D не является легким языком сам по себе, он генерирует много информации о типах среды выполнения, которая обычно связан с вашим приложением, и это также необходимо для типизированных вариантов (и, следовательно, стандартных функций форматирования, будь то Tango или Phobos). Это означает, что даже самые маленькие приложения удивительно велики по размеру и, таким образом, могут исключить D из систем с низким объемом оперативной памяти. Также D со средой выполнения в качестве разделяемой библиотеки (которая могла бы облегчить некоторые из этих проблем) была мало протестирована.
  • Для всех текущих библиотек D требуется стандартная библиотека C под ней и, следовательно, обычно также ОС, так что даже это работает против использования D. Однако в D действительно существуют экспериментальные ядра, так что это возможно само по себе. На сегодняшний день для этого просто не будет никаких библиотек.

Я лично хотел бы, чтобы вы добились успеха, но сомневаюсь, что это будет легко.

11
ответ дан 29 November 2019 в 03:00
поделиться

Прежде всего, прочитайте ответ Ларсиви . Он работал над средой исполнения D и знает, о чем говорит.

Я просто хотел добавить: Некоторые из того, о чем вы спрашивали, уже возможны. Это не поможет вам в полной мере, и промах здесь равен миле, но все же, к вашему сведению:

Сборка мусора великолепна в Windoze или Linux, но и, к сожалению, когда-нибудь встроенных приложений должен делать явное управление памятью.

Вы можете отключить сборку мусора. Различные экспериментальные D OS делают это. См. Модуль std.gc , в частности std.gc.disable. Также обратите внимание, что вам не нужно выделять память с помощью new: вы можете использовать malloc и free. Даже массивы могут быть выделены с ним, вам просто нужно прикрепить массив D вокруг выделенной памяти, используя срез.

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

Спецификация для массивов , в частности, требует, чтобы компиляторы допускали отключение проверки границ (см. «Замечание по реализации»). gdc предоставляет -fno-bounds-check, а в dmd использование -release должно отключить его.

Каковы последствия для поддержки многопоточности во встроенной системе, не работающей в ОС,? У нас есть клиент, которому не нравятся прерывания. Гораздо меньше ОС / многопоточности.

Это менее понятно, но, учитывая, что большинство сред выполнения C допускают отключение многопоточности, вполне вероятно, что можно было бы также заставить D время выполнения отключить его. Легко ли это или возможно сейчас, хотя я не могу вам сказать.

7
ответ дан Community 29 November 2019 в 03:00
поделиться
Другие вопросы по тегам:

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