The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Обсуждение возможных планов развития GCC 5.0"
Отправлено opennews, 20-Мрт-12 18:33 
Среди разработчиков набора компиляторов GCC (http://gcc.gnu.org/) развернулась обширная дискуссия (http://gcc.gnu.org/ml/gcc/2012-03/msg00263.html) о планах и задачах для будущей ветки GCC 5.0.  При этом основной темой размышлений о возможных путях развития GCC, стало его обсуждение в контексте стремительно набирающего популярность проекта  LLVM (http://llvm.org/) (Low Level Virtual Machine).

Так активный разработчик GCC Дэвид Малкольм (http://dmalcolm.livejournal.com/) (David Malcolm) из компании Red Hat подробно изложил (http://gcc.gnu.org/ml/gcc/2012-03/msg00256.html) своё видение будущего проекта, которое сводится к предложению переписать GCC с Си на Си++, разработать полноценный API для подключения плагинов, а также в движении GCC в сторону более модульной структуры – реализации базовой части в  виде набора самодостаточных библиотек.


Идея заключается в том, что подобные библиотеки, из которых будет состоять GCC 5, смогут очень легко внедряться в приложения, также легко, как это делается в LLVM. Дэвид в частности заявляет: "На что я очень надеюсь, что GCC будет двигаться в сторону коллекции библиотек, которые могут быть свободно внедрены в любые лицензионно-совместимые приложения. LLVM завоевала популярность для случаев, где нужна  JIT-компиляция. Я понимаю, что JIT-компиляция имеет совсем разные характеристики по сравнению с классическим предварительным компилированием (ahead-of-time compiler). В идеале, GCC превратится в набор разделяемых библиотек, которые могут быть слинкованы как статически, так и динамически. Запускаемые файлы превращаются в тонкую обертку, которая лишь вызывает нужные библиотеки".

Приведение GCC к модульной структуре - это очень сложное предприятие. Поэтому Дэвид добавляет: "Подобная переработка архитектуры сегодняшнего GCC очень сложна (быть может, даже и невозможна), хотя бы потому, что мы не можем однозначно решить к какому отдельному модулю, какой код компилятора должен принадлежать. И важный момент, который мы должны сначала предпринять, это принять некую карту развития, при этом вероятно нужно сразу смириться с тем фактом, что модульный GCC 5 по сравнению с текущим GCC, - будет обладать меньшей функциональностью, будет также менее оптимизированным и менее мощным, чем сегодняшний GCC. Я не знаю, возможно ли это осуществить вообще (поэтому я иногда очень пессимистичен к этому проекту), в том числе потому, что многие платные разработчики GCC работают на компании, которые не допустят столь масштабных изменений".

Кроме того, препятствием для потенциального сближения GCC и LLVM является то, что компиляторы LLVM поставляются под более либеральной лицензией BSD, которая более любима компаниями и более совместима со сторонним программным обеспечением, тогда как GCC распространяется под лицензией GPLv3, вносящей ряд ограничений при связывании библиотек. Даже если разработчики и согласятся в будущем сфокусироваться на модульности будущего GCC, это потребует ни мало времени, пока это станет всё-таки возможным.


URL: http://www.phoronix.com/scan.php?page=news_item&px=MTA3MzE
Новость: https://www.opennet.ru/opennews/art.shtml?num=33396

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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