В связи с большой сложностью разработки подрядчиком выступит Collabora.
В наше время Microsoft достигла больших успехов в развитии подсистемы драйверов в разделении на ядерную и пользовательскую часть. Это открывает возможность взаимодействия RADV и ядерной части драйвера AMD.
Перенос драйвера с одной операционной системы на другую и так крайне сложная задача, тут её усложняет отсутствие документации на работу с ядерным драйвером.
В начале 2024 Faith Ekstrand написал утилиту для перехвата данных при обращении к драйверу AMD. После анализа вызовов WDDM 2.0 им был написан базовый драйвер. На основе этой работы Collabora смогла доработать драйвер, и теперь он может запускать некоторые игры, включая Counter-Strike 2.
От переводчика:
Ау, авторы реактоси, Габен вам современный драйвер принес :))
Последний патент на MPEG-4 Part 2 истек 19.07.2026. Это был бразильский патент BRPI0109962B1 — «процесс хранения и обработки информации об изображениях, полученных последовательно во времени»
В комплекте идут Binutils 2.29.1 и GDB 10.2. Для желающих собрать самим – использовать скрипты в архиве GCC4Symbian.zip(проверено на Devuan). Для Windows выложена готовая сборка.
После долгого и тяжелого труда вышла сборка GCC 14.2.0 в которой были исправлены ошибки сборки и добавлен ряд улучшений. В состав также вошли Binutils 2.29.1 и GDB 10.2.
Для Windows доступна в виде исполняемых файлов, для сборки на Linux-системах прилагается bash-сценарий.
Улучшения:
поддержка C++11 и новее в SDK;
по умолчанию определен макрос используемый для Symbian: __SYMBIAN32__;
Для поддержки современных стандартов C++ в папке fixed_headers находятся два заголовочных файла: gcce.h и e32cmn.h. Первый подходит ко всем SDK на базе Symbian 9, второй совместим лишь с несколькими SDK и исходниками Symbian 3. Для установки следует использовать install_headers.py
Макрос __SYMBIAN32__ предназначен для изоляции кода предназначенного для Symbian. По умолчанию задается системой сборки SDK или через прараметры компилятора если используется другая система сборки. Теперь будет немного легче тем, кто использует другие системы сборки.
Начиная с 5 версии, GCC собирался только при помощи make -k, без оного начинал требовать crtfastmath.o, и на этом сборка заканчивалась. Это при том, что этот файл не компилируется для SOFTFP (в этом режиме программе все равно – FPU реальный или эмулиремый!). С указанным ключом собиралось все, кроме freestanding libstdc++ и GDB.
В первый выжрал все 8 гиг рамы и превед адские тормоза. Думал чутка памяти не хватает - добавил 10 гигов свопа - выжрало все и не подавилось, превед адские тормоза.
Как сию похабщину исправить?
Ось - Devuan chimera x64. Ничего не ковырял, обнов не ставил. В сабже нуб.
Раньше собирал под msys - был свой цирк с конями, но память не жрало как не в себя.
Есть в библиотеке такой класс, TAutoClose, освобождающий ресурсы своего члена класса, вызывая его метод Close(), при выходе из области видимости. При этом глаза мозолит использование iObj:
Добавил реализацию оператора &(видел подобный фокус с оператором '*' для умных указателей), всё равно компилятор говорит, что не видит функции:
T& operator&() {
return iObj;}
Вот общий вид этой группы классов:
TAutoClose освобождает ресурсы группы классов вида:
class RExample:
{
int handle;
public:
void Close() {}
}
И сам класс:
template <class T>
class TAutoClose
/**
@publishedAll
Automatically calls Close() on an object when that object goes out of scope.
The behaviour takes advantage of the fact that the compiler automatically
destroys objects that go out of scope.
*/
{
public:
inline ~TAutoClose();
private:
static void Close(TAny *aObj);
public:
/**
An instance of the template class.
*/
T iObj;
};
// Class TAutoClose
template <class T>
inline TAutoClose<T>::~TAutoClose()
/**
Destructor.
The implementation calls Close() on iObj, the instance of the template class.
*/
{iObj.Close();}
template <class T>
void TAutoClose<T>::Close(TAny *aObj)
{((T *)aObj)->Close();}
Я, автор релизов ScummVM для Symbian, прошу помочь перенести плагины к Eclipse с поддержкой Symbian на новое ядро. Исходный код — github.com/SymbianSource/oss.FCL.sftools.dev.ide.carbidecpp и github.com/SymbianSource/oss.FCL.sftools.dev.eclipseenv.carbideui. И справка SDK не подключается, тоже нужно починить.
Сайт проекта недоступен более месяца, на главной висит заглушка.
Цель данного проекта – сборка нативных программ для Windows с помощью свободного программного обеспечения, в частности порта gcc, binutils и gdb, а также порта bash. Эту нелегкую ношу свободного ПО во мраке проприетарщины они несли свыше десяти лет. Новый проект, который взял на себя их задачи – Mingw-w64. По какой-то причине на сайте Mingw-w64 кривой сертификат.
ScummVM — это программа, позволяющая запускать некоторые классические адвенчуры и квесты при наличии у вас файлов данных от этих игр. Суть в том, что ScummVM заменяет исполняемые файлы игры, тем самым позволяя играть на тех системах, которые даже не существовали во время их создания!
ScummVM поддерживает более 250 квестов и адвенчур. Поддерживаются многие классические квесты, изданные такими легендарными студиями, как LucasArts, Sierra On-Line, Revolution Software, Cyan, Inc. и Westwood Studios. Вместе с такими знаменитыми играми, как Monkey Island, Broken Sword, Myst, Blade Runner и многими другими, вы сможете отыскать малоизвестные адвенчуры и по-настоящему скрытые шедевры.
(Взято с сайта scummvm.org)
В силу ограниченного объема оперативной памяти устройств монолитный исполняемый файл был разбит на 4 части. Гарантированно запускается сам ScummVM , запуск игр не гарантирован кроме Blade Runner и Ultima 8.
Эту версию можно ставить паралелльно уже установленной, она не заменит уже установленную. Автор будет признателен за тестирование и отзыв что работает или не работает.
Написал программу которая должна удалять комментарии в файле исходного кода С++.
Условия:
// /* и */ не будут содержаться в самих комментариях, строках и символьных константах.
Проблемы:
'*/' сохраняется в файл.
Код: