The OpenNET Project / Index page

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

Обновление компилятора языка программирования Vala 0.50.4

28.02.2021 22:02

Вышла новая версия компилятора для языка программирования Vala 0.50.4. Также была обновлена ветка с долгосрочной поддержкой (LTS) Vala 0.48.14 (упаковывается для Ubuntu 18.04) и экспериментальная ветка Vala 0.51.3.

Язык Vala является объектно-ориентированным языком программирования, предоставляет синтаксис, подобный языкам C# или Java. В качестве объектной модели используется Gobject (Glib Object System). Управление памятью осуществляется по владению (owned/unowned ссылки) либо с помощью ARC(подстановка деструкторов и декрементов счетчиков ссылок объектов на этапе компиляции).

В языке имеется поддержка интроспекции, лямбда-функций, интерфейсов, делегатов и замыканий, сигналов и слотов, исключений, свойств, ненулевых типов, выведения типов для локальных переменных. В комплекте поставляется большое количество биндингов к библиотекам на языке C (vala-girs, vala-extra-vapis). Программы на языке Vala транслируются в представление на языке C, а затем компилируются штатным компилятором для языка C. Имеется возможность запуска программ в режиме сценария.

Список изменений:

  • Добавлена дополнительная поддержка ключевого слова params для конструкторов
    
       class Foo{
           public Foo(params string[] args){
               foreach (var arg in args) print(arg);
           }
    }    
    
  • codegen:
    • Улучшена поддержка конструкторов SimpleType struct (например используется чтобы забиндить typedef uint32_t people_inside; из C)
      
         [SimpleType]
         [CCode (cname = "people_inside")]
         public struct PeopleInside : uint32 {}
      
    • Улучшена обработка атрибута "NoWrapper".
    • Для классов разрешен CCode.type_cname и get_ccode_type_name().
    • Всегда использован G_TYPE_INSTANCE_GET_CLASS/INTERFACE для внешних символов.
    • Использован g_boxed_free в free-wrapper для размещения GLib.Value в куче.
    • Исправлена утечка памяти во время неявного анбоксинга GLib.Value (универсальный контейнер любого value типа).
    • Исправлена утечка памяти во время перемещения в стек структуры, размещённой в куче.
    • Обеспечено наследование деструктора родительской структуры
    • Налажено правильное получение symbol_reference вложенных cast-выражений.
    • Удалены все вложенные вхождения CCodeCastExpression.
    • Прекращён некорректный вызов обработчика сигналов по умолчанию.
    • Подключен "string.h" для strcmp() (POSIX профайл, режим при котором Vala генерирует код используя только стандартную С библиотеку).
  • Vala:
    • Улучшено обнаружение дубликатов исходных файлов пакетов.
    • Поля/свойства GtkChild должны быть объявлены как unowned.
    • Запрещено переназначения поля/свойства GtkChild.
    • Применено более строгое условие для лямбды при делегировании назначения.
    • Запрещено применение одноразовых структур SimpleType.
    • В GLib.Value unboxing обеспечен возврат unowned-зничения.
    • Запрещено приведение GLib.Value к типу nullable struct/simple.
    • Добавлена проверка аргументов типа в базовых типах/предусловий класса/интерфейса.
    • Запрещён захват параметров/переменных va_list.
    • Дженерики, содержащие указатель на структуру, должны быть приведены к нужному типу при доступе для избежания С UB.
    • Реализован вывод типов для "in" внутри enum.
    • Улучшена проверка контекста при присвоениях в поле writeable.
    • Подключён "stdlib.h" для Enum.to_string() (POSIX).
    • Установлен правильный source_reference для неявных переменных "this" и "result"
    • Обеспечен вывод сообщения об ошибке для недопустимого внутреннего операнда унарных выражений.
  • Сodewriter: Прекращено добавление завершающего ";" после тела WithStatement.
  • Girparser:
    • Обеспечена обработка анонимного делегата, не подкрепленного виртуальным методом или сигналом.
    • Применены метаданные "delegate_target" для методов и параметров
    • Применены метаданные "destroy_notify_cname" для полей
    • Применены метаданные "type_get_function" для классов и интерфейсов
    • Установлен CCode.type_cname для классов, если он не соответствует значению по умолчанию.
  • girwriter: Обеспечена запись элементов параметров экземпляра.
  • girwriter: Реализован вывод обработчика сигналов по умолчанию.
  • libvaladoc/html: Убрана сортировка полей структур чтобы оставить их оригинальный порядок при генерации html документации valadoc.org
  • libvaladoc: Обеспечено правильное получение значений для Api.Class.is_compact
  • libvaladoc: Добавлен врапер для "agedge" библиотеки graphviz
  • Биндинги:
    • Мелкие исправления при генерации привязок: cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4, fuse, libxml-2.0
    • gdk-pixbuf-2.0: Исправление Pixbuf.save_to_streamv_async()
    • gio-2.0: Исправление привязки PollableOutputStream.write*_nonblocking()
    • gio-2.0,gtk+-3.0,gtk4: Отброшены явные аттрибуты c-типа параметров va_list
    • gio-2.0: Выбран отсутствующий invoker для некоторых методов AppInfo/File.*()
    • glib-2.0: Добавлен GLib.[S]List.is_empty() convenience methods for non-null
    • glib-2.0: Биндинг функции assert_cmp* [#395]
    • glib-2.0: Улучшен тип поля OptionEntry.flags
    • glib-2.0: PtrArray теперь подкласс GenericArray
    • gstreamer-1.0: CCode.type_id мини-объекта(MiniObject) выставляется как G_TYPE_BOXED [#1133]
    • gtk+-2.0,javascriptcoregtk-4.0: Откорректировано использование атрибута CCode.type_cname
    • gtk+-3.0,gtk4: Исправлены некоторые возвращаемые делегатом значения и параметры
    • gtk4: Обновлён до версии 4.0.2.


  1. Главная ссылка к новости (https://gitlab.gnome.org/GNOME...)
  2. OpenNews: Выпуск экспериментальной версии транслятора языка программирования Vala 0.51.1
  3. OpenNews: Выпуск компилятора для языка программирования Vala 0.50.0
  4. OpenNews: Выпуск компилятора для языка программирования Vala 0.49.1
Автор новости: gavr
Тип: Программы
Короткая ссылка: https://opennet.ru/54675-vala
Ключевые слова: vala
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (60) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:41, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    может, проще сразу цпп?
     
     
  • 2.2, Аноним (2), 23:44, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Цпп и проще в одном предложении?
     
     
  • 3.3, Аноним (3), 23:51, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё было просто, пока не пришли шаблоны.
     
     
  • 4.4, Аноним (4), 00:03, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Так метапрограммирование это один из трендов. Рано или поздно, что-то подобное появится и в Vala.
    Не пользуйтесь шаблонами, никто же не заставляет.
     
     
  • 5.14, пердёжник (?), 07:13, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Не пользуйтесь шаблонами, никто же не заставляет.

    Только ежедневно читайте и чините код ваших коллег, переполненный ими.

     
     
  • 6.21, _hide_ (ok), 09:48, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ребят, Вы точно про метопрограммирование? Просто Макросы -- это та ещё жесть, а декларировать какие-либо свойства/поведение группы классов в одном (приличном!) месте, бывает очень удобно и сильно облегчает чтение.
     
     
  • 7.25, llolik (ok), 10:36, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При всей жести макропортянок Си, сами по себе правила языка для макросов очень просты для понимания (если не сказать тривиальны). Далее уже понимание того, что наворотили, собственно, предшественники. Хотя, это, конечно, не совсем метапрограммирование.

    Во что развернётся шаблон в cpp сходу понять могут "не только лишь все" (c), т.к. правила языка в этой части, мягко говоря, не тривиальны (т.к. суть шаблонов cpp, как я её понимаю, это, в общем-то, те же макроподстановки, только не на уровне лексера, а на уровне AST).

     
     
  • 8.28, n00by (ok), 10:51, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы оптимист Помнится, MSVC 7й что ли версии точно не 6й отказался понимать пр... текст свёрнут, показать
     
     
  • 9.35, llolik (ok), 11:22, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, у этих всю жизнь своя атмосфера и своеобразное трактование стандартов И воо... текст свёрнут, показать
     
  • 7.59, Аноним (-), 21:15, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Макросы могут делать мозг. Зато
    1) Не генерят код. Все считается compile time. Конечно можно это наесть при сильном желании, но по умолчанию оно вот так.
    2) Все достаточно просто и прозрачно. А вот на шаблонах могут завернуть такого что мало не покажется. Не то чтоб на макро так нельзя - но неудобно. А шаблоны могут так влупить что потом этот код вообще майнтайнить никто не может или не хочет.
     
  • 5.17, n00by (ok), 07:55, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Так метапрограммирование это один из трендов.

    Андре́й Александре́ску ... известный благодаря ... метапрограммирования шаблонов.

    С 2009 года работал в ... в 2015 году ушёл из компании, чтобы сосредоточиться на разработке языка D.

     
  • 5.23, Совершенно другой аноним (?), 10:25, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Рано или поздно, что-то подобное появится и в Vala.

    Оно там уже есть - есть коллекции в библиотеке gee построенные на основании шаблонов.

     
     
  • 6.26, n00by (ok), 10:40, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Vala generics, а не templates. Оба случая переводят как "шаблоны", но есть различия, в том числе и в возможностях. Темплейты -- отдельный Тьюринг-полный язык в языке, исполняемый на этапе трансляции. Возможностей больше, но и повышается порог вхождения.
     
  • 4.10, Аноним (10), 02:03, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На макросах хуже, чем на шаблонах
     
  • 2.16, n00by (ok), 07:52, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > кто читал стандарт цпп?

    Хороший вопрос.

     
  • 2.20, Аноним (20), 09:12, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Или джаву или сишарп.
     
  • 2.61, Аноним (61), 12:33, 05/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Уже видел такое. По телевизору.

    100% , лучше старый добрый stl чем новый glib апи каждый день

     

  • 1.5, Dzen Python (ok), 00:09, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –14 +/
    Минусуйте сколько влезет, но без нормальной работы с чем бы то ни было кроме гетека (Qt, wxWidgets) - не нужен.
     
     
  • 2.6, Аноним (2), 00:38, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Vala не стремится распространиться во все сферы и на весь мир. Это язык чисто для своих, для работы с GLib-овским ООП и линуксовыми сервисами/библиотеками. Скажем, у эпла есть свой собственный ЯП, обслуживающий интересы эпла. Vala - то же самое, обслуживает интересы GNU/Linux и предоставляет чрезвычайно удобный синтаксис по работе с сишным ООП, D-Bus-сервисами, GTK+ и так далее. И как приятное дополнение, биндинги к наиболее популярным языкам: все, что напишешь на вале, может пригодиться и тем, кто кроме питона или JS ничего не знает. Это в отличие от крестов, которые продолжают оставаться вещью в себе.
     
     
  • 3.9, Аноним (9), 01:03, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > все, что напишешь на вале, может пригодиться и тем, кто кроме питона или JS ничего не знает

    Каким образом, не сильно понимаю?

     
  • 3.12, Аноним (12), 03:36, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Vala - то же самое, обслуживает интересы GNU/Linux

    Оно обслуживает интересы гномосеков, а не линукса, кукаретик.

     
     
  • 4.13, Аноним (2), 04:25, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    GNOME - ведущая, основная и дефолтная DE в GNU/Linux. При этом в самом GNOME на вале писать особо не стараются, -- вместо этого валя возымела необыкновенную популярность в elementary OS. Так что я рекомендую тебе все же хотя бы поверхностно ознакомиться с темой, прежде чем садиться в лужу, как сейчас.
     
     
  • 5.27, Аноним (27), 10:49, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ведущая... дефолтная... Смешная шутка... но сегодня 1 марта, а не 1 апреля
     
     
  • 6.29, Аноним (29), 11:01, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Берешь топ-10 наиболее популярных дистров. Какая там стоит дефолтная ДЕ?

    По каждому ДЕ берешь количество разработчиков, которые ею заняты. Какая ДЕ будет в существенном перевесе? Ну и а если считать разработчиков на зарплате?

     
     
  • 7.34, Аноним (34), 11:12, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Популярных от слова попа.
     
  • 7.39, SinoptikU (?), 14:58, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не путайте количество с качеством! Но предположим!.. И что с того? Почему тогда у вашей ведушей, дефолтной DE столько форков? Почему за 10 лет, по вашему, ведущие разработчики не способны решить элементарные проблемы с теми же гигантскими размерами виджетов (с заголовками) на экранах с небольшим разрешением и т.д.? И почему за годы "упрощений" 3-ей версии их поделка по виду и юзабилити стала для аутистов? То, что вы написали высше, вообще не показатель! Не стояла бы Red Hat, все было бы иначе. Нормальный, вменяемый линуксоид скорее должен стыдиться GNOME 3, чем восхищаться!
     
     
  • 8.43, Аноним (29), 16:06, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Комментаторы выше попытались подвергнуть сомнению характеристики ведущая, основ... большой текст свёрнут, показать
     
     
  • 9.62, Аноним (62), 19:45, 31/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чем больше изучаю GNOME, тем больше понимаю, что ты чертовски прав О внешнем ви... текст свёрнут, показать
     
  • 8.50, IRASoldier_registered (ok), 02:01, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Аутизм - расстройство, возникающее вследствие нарушения развития головног... текст свёрнут, показать
     
     
  • 9.53, SinoptikU (?), 09:11, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вон ... текст свёрнут, показать
     
     
  • 10.54, IRASoldier_registered (ok), 11:53, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В смысле - вон там, гляди или в смысле пшел вон Если во втором - ха-ха, не... текст свёрнут, показать
     
     
  • 11.56, SinoptikU (?), 15:16, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пошел вон ... текст свёрнут, показать
     
     
  • 12.57, IRASoldier_registered (ok), 18:12, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, помечтать об этом ты можешь А можешь смирить гордыню и рассказать всё же о ... текст свёрнут, показать
     
  • 8.55, IRASoldier_registered (ok), 11:57, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Линукс - это не идеология Это операционная система Любой линуксоид, т е польз... текст свёрнут, показать
     
  • 2.8, gavr (ok), 00:42, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А почему еще не обязаны быть биндинги к WPF, MAUI, Swing, JavaFX?
     
     
  • 3.11, topin89 (ok), 02:19, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хорошее сравнение. Vala для GTK это ровно то же, что и C# для WPF или Swing для Java. Минус гигантские деньги на раскрутку самого языка. Отсюда и язык идёт в один ряд с Nim, Zig или D: в меру интересные проекты, которые могут выйти из периферии если внезапно их подхватит какая-то достаточно крупная контора, как было с питоном в своё время.
     
  • 2.18, Аноним (18), 08:06, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так его и придумали для того, чтобы нормально работать с мзначан сишным gtk: на голых сях писать объектно-ориентированную гую удовольствие сомнительное. На изначально плюсовом Qt и на плюсах норм.
     
  • 2.19, n00by (ok), 08:12, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Минусуйте сколько влезет, но без нормальной работы с чем бы то ни
    > было кроме гетека (Qt, wxWidgets) - не нужен.

    Что бы иметь хоть чем-то обоснованное мнение о языке, переписал с Qt (жду мнения знатоков, насколько оно well-formed C++) на Vala MPSIR брокер из https://community.kde.org/Plasma/Browser_Integration
    получилось вдвое меньше как в исходнике, так и в исполняемом файле.

    Простой и доступный язык для своих задач, не требующий двухнедельного чтения книжки про SFINAE.

     
     
  • 3.36, gavr (ok), 13:16, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ссыль на репу?
     
     
  • 4.44, n00by (ok), 16:57, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В профиле есть. Вот прямая https://github.com/STrusov/plasma-browser-integration-glib
     
  • 3.40, SinoptikU (?), 15:05, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Перепиши на Python, еще вдвое уменьшится кода!
     
     
  • 4.45, n00by (ok), 17:10, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Во-первых, в Vala унаследованный от Си привычный синтаксис и семантика, значит похоже на исходный Qt, а Python надо изучать отдельно.
    Во-вторых, написанный на Python плагин chrome-gnome-shell занимает 15Мб, а мой -- 444Кб.
    В общем, так себе экономия. Про прелести динамической типизации можно даже и не начинать.
     
  • 2.37, Аноним (37), 13:34, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Как там LTS у Qt поживает? А что с лицензией? GTK позволяет использовать в любых проектах, а Qt заставляет чуть что платить, если проект не GPL.
     
     
  • 3.41, SinoptikU (?), 15:13, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > GTK позволяет использовать в любых проектах

    На не родной платформе просто ужасно выглядит, потому многие поделки переписывают на Qt.
    > а Qt заставляет чуть что платить, если проект не GPL

    Не LGPL. Ограничения в последней LTS с бинарными сборками. Возможно, в будущем появятся неофициальные LTS от сообщества (Qt 5.15.3, ...).

     

  • 1.7, gavr (ok), 00:38, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Всем интересующимся, хороший гайд на русском тут https://wiki.gnome.org/Projects/Vala/Tutorial/ru  
    Общие ссылки, в том числе где найти сообщества тут https://wiki.gnome.org/Projects/Vala/Documentation#Places_to_discuss_and_ask_q
     
     
  • 2.30, Аноним (30), 11:03, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Благодарю, бро. Весьма в тему. Чем больше глядишь в программирование GUI (среди не жручих и более или менее приличных только GNOME), тем больше понимаешь, что нужно погружаться в Vala.

    Переводи дальше. 4.8 Mixins и выше.

     
     
  • 3.47, gavr (ok), 20:01, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, совсем полный перевод я захостил на gitbook'е (https://vala.gitbook.io/vala/untitled/language-elements/tipy-dannykh), но мне чето самому не понравилось что получилось.

    Также по второй ссылке из предыдущего комментария (https://wiki.gnome.org/Projects/Vala/Documentation#Places_to_discuss_and_ask_q) можно найти мою тг конфу или общий дискорд.

     
     
  • 4.58, n00by (ok), 09:08, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Спасибо, совсем полный перевод я захостил на gitbook'е (https://vala.gitbook.io/vala/untitled/language-elements/tipy-dannykh),

    Спасибо. С этого перевода и начинал. Написано доступно, желания переключиться на оригинал не возникало.

    > но мне чето самому не понравилось что получилось.

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

     

  • 1.22, Аноним (22), 10:00, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А он уже пережил этап трансляции в C? Насколько удобно выполнять отладку кода в нем если он до сих пор транслирует в C?
     
     
  • 2.24, Совершенно другой аноним (?), 10:30, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, в этом плане пока всё остаётся без изменений, и насколько я понял - менять это не собираются (по крайней мере в качестве заявленных целей этого нет, даже наоборот, постулируется, что такой способ значительно облегчает как совместимость с C, так и с другими языками).
     
  • 2.31, Аноним (29), 11:05, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Во-первых, транслируя в си, можно детально изучить, как работает валя.
    Во-вторых, приведу одну цитату: «только что вышло мажорное обновление GCC 9. В нем улучшили оптимизацию switch, и эта оптимизация автоматически попала в Vala, т.к. она компилируется в си».

    Так что я бы не сказал, что есть повод что-то там «переживать».

    > он уже пережил этап трансляции в C?

     

  • 1.38, acroobar (?), 13:42, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    В мини-новость!
     
  • 1.42, Skullnet (ok), 16:06, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Идея хорошая, но жаль что все это дело прибито гвоздями к мерзкому GTK.
     
     
  • 2.46, Аноним (46), 19:59, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не прибито.
     
     
  • 3.49, Skullnet (ok), 00:53, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Правда? Даже у них в документации написано, что прибито к GTK и GNOME.

    Vala - это новый язык программирования, предназначенный для прикладного и системного программирования на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+

     
     
  • 4.52, Аноним (52), 05:17, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если у вас нигде нет using Gtk, или другой либы, в которой есть using Gtk, то пр... большой текст свёрнут, показать
     
  • 2.48, Аноним (-), 21:50, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Оно аккуратно прикреплено нержавеющими болтами к Си. Это хорошо.
     

  • 1.60, Аноним (61), 12:32, 05/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все бы хорошо, но glib .. нет спасибо
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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