FreeBasic
Главная
Вход
Регистрация
Четверг, 28.03.2024, 23:46Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » Библиотеки для FreeBasic » Библиотека Window9 для Freebasic » window9 в репозитории AltLinux
window9 в репозитории AltLinux
haavДата: Среда, 28.09.2022, 14:45 | Сообщение # 16
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата useful630 ()
По вспоминать я люблю, но вернёмся к теме. Забываю спросить про
-gen gas|gas64|gcc|llvm Select code generation backend
Я правильно понимаю, что библиотека по мимо архитектуры, разрядности, тулкита 2/3, ещё и для каждого бакэнда нужна?
Мои эксперименты под Альт на первый взгляд показывают, что по умолчанию не gas, как я где то встречал в документации, а как раз gcc,
а там ещё и оптимизацию включать можно.


Вот с чем я никогда не заморачиваюсь. Обычно все использую по умолчанию:

32-bit система: gas (хотя кто-то теребит gcc)
64-bit система: gcc (но по желанию можно и gas64)
64-bit система для программ под браузер: llvm (это не для W9)

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

Для ARM наверное тоже используется GCC.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
useful630Дата: Четверг, 29.09.2022, 08:56 | Сообщение # 17
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Цитата haav ()
W9 работает только под x86 и x86-64.

Обнаружил ASM вставки!
Я не разбирался детально, но это критично, без них никак?
 
haavДата: Четверг, 29.09.2022, 10:55 | Сообщение # 18
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата useful630 ()
Обнаружил ASM вставки!
Я не разбирался детально, но это критично, без них никак?


К сожалению для IncludeBinary , использующей асм вставки , я не знаю другого способа. Другие функции с асм вставками еще можно было бы переписать , но это не даст эффекта , потому что останется проблема IncludeBinary. Насколько это критично например для бэкенда ARM , я не знаю.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
useful630Дата: Четверг, 29.09.2022, 11:16 | Сообщение # 19
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Вернёмся к теме, когда у меня появится arm, или кто то подтянется со стороны.
 
haavДата: Четверг, 29.09.2022, 12:45 | Сообщение # 20
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Кстати , для пакета fbc на альте нужно еще как минимум ставить в зависимостях libXpm-devel , libXrandr-devel

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
useful630Дата: Четверг, 29.09.2022, 14:26 | Сообщение # 21
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Для классической basic графики может и ещё что то понадобится.
Будет время, набросаю, что то вроде теста, в котором нужно задействовать всё что не требует include с описанием внешних инструментов.
Андрей в Альте отвечает за выпуск дистрибутива АльтОбразование и FB у него в соответствующем разделе.
Думаю при нормальной аргументации доработает пакет, как на днях с ncurses, в смысле добавит зависимости.
Пока я жду от него ответа по ARM. Оказалось, что реально пакетов в репозитории нет и поисковик вводит в заблуждение.
Если он не планирует выпускать под другие платформы кроме x86,x86_64 то и бог с ним с ассемблером.
У меня всё равно, завтра точно не появится железка с arm.


Сообщение отредактировал useful630 - Четверг, 29.09.2022, 14:44
 
laserДата: Понедельник, 03.10.2022, 09:27 | Сообщение # 22
Лейтенант
Группа: Пользователи
Сообщений: 57
Репутация: -46
Статус: Offline
Цитата useful630 ()
У меня всё равно, завтра точно не появится железка с arm.
TV приставки нет? Стоит 1000 - 2000 рублей.
На ней прекрасно запускается линукс.

 
useful630Дата: Понедельник, 03.10.2022, 10:13 | Сообщение # 23
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Я в курсе всего, что есть.
Мне  интересно только то, что может быть массовым и не дома, а там где программированием можно хоть что то заработать.
Я Си-шник до мозга костей,  smile "импортозамещением"  smile   в прошлом веке занимался переписывая sdtlib Си от http://www.nicevt.ru/ под СМВ(ПДО)-VM(CMS) под паравиртуализацию.
ПДО - однопользовательская многозадачная ОС написанная специально для виртуального пространства, т.е. например ассемблер как бы тот же и макрокоманды ввода вывода те же, но внутри вместо работы с каналами ввода-вывода обращения к гипервизору за результатом.

Но мозги старые и ленивые и Фред со своим PureBasic - ом избаловал в конец. Я вполне в серьёз допускаю PB и FB (где прям по зарез open source нужен) в качестве инструментов для программирования за вознаграждение  smile 

Отсюда отсутствие интереса к не промышленным (массовым) изделиям на основе ARM. Например когда станет понятна судьба байкалов или других попыток, тогда и пойму на чём экспериментировать.
Сомнений в том, что инструменты готовы у меня нет, но например ещё один фактор есть. Если не удастся убедить, что FB под ARM нужен в репозиториях Базальта, то и интерес мой под угаснет.

Добавлено (03.10.2022, 10:49)
---------------------------------------------
Вернёмся к теме. На сегодня, если я правильно понял, предполагается выбрать один раз gtk2/gtk3 и пользоваться.
Для цели попасть в репозиторий на сегодня(в смысле без ARM) нужно будет 4 цели: x86-gtk2,x86-gtk3,x64-gtk2,x64-gtk3
И возможность выбора в командной строке с чем линковать или какие то другие варианты ...
Есть мысли на тему?

 
laserДата: Понедельник, 03.10.2022, 11:28 | Сообщение # 24
Лейтенант
Группа: Пользователи
Сообщений: 57
Репутация: -46
Статус: Offline
Цитата useful630 ()
Мне интересно только то, что может быть массовым и не дома, а там где программированием можно хоть что то заработать.
Linux + ARM?
Наверное только Raspberry Pi, Orange Pi и прочие фрукты/ягоды.

Цитата useful630 ()
Я вполне в серьёз допускаю PB и FB (где прям по зарез open source нужен) в качестве инструментов для программирования за вознаграждение
PB успешно для этих целей юзаю. Лицензия наверное 30 раз окупилась...
Вообще PB хорош что все готово из дистрибутива. Установил и работай.
Разработчик FB предоставляет тока компиль, а редактор кода, отладчик, библы возложены на плечи сообщества.
 
useful630Дата: Понедельник, 03.10.2022, 12:03 | Сообщение # 25
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Цитата laser ()
Наверное только Raspberry Pi, Orange Pi и прочие фрукты/ягоды.

И прочее съедобное http://rbs-computers.ru/repkapi3
Например уже можно купить в розницу от них
http://rbs-computers.ru/rbs-computers-a20
Утверждают, что не зависят от Тайваня. Посмотрим, что у них получится.

p.s. но я напомню про вопрос выше о разделении на gtk2 и gtk3 (на сейчас получается или)

p.p.s. Андрей Ч. ответил, что в его планах сборки alt Arm нет, и у меня arm нет, так что проблема asm вставок откладывается на неопределённый срок.


Сообщение отредактировал useful630 - Понедельник, 03.10.2022, 14:33
 
haavДата: Понедельник, 03.10.2022, 16:04 | Сообщение # 26
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата useful630 ()
Вернёмся к теме. На сегодня, если я правильно понял, предполагается выбрать один раз gtk2/gtk3 и пользоваться.
Для цели попасть в репозиторий на сегодня(в смысле без ARM) нужно будет 4 цели: x86-gtk2,x86-gtk3,x64-gtk2,x64-gtk3
И возможность выбора в командной строке с чем линковать или какие то другие варианты ...
Есть мысли на тему?


Если хочется работать с библиотекой так , как предусмотрено , то ставится на комп одна версия (либо gtk2 , либо gtk3).
Если не пугает , что дополнительно исходный код программы , использующий библиотеку, вырастет на одну строчку (директиву #define __USE_GTK3__) , то можно объединить обе версии GTK2 и GTK3 в один пакет. После установки на диске будут 2 версии для GTK2 и для GTK3 (скажем с именами libw9gtk2.a , libw9gtk3.a). Надо лишь чуть подшаманить файл window9.bi . То есть берем справку и любой пример. Ставим в самом начале директиву (для GTK3) или не ставим (для GTK2) и все.
Все это я писал для уже собранных бинарных библиотек.
Но я правильно понял , что цель стоит еще собирать из исходных файлов?
Если так, то наверное можно для сборки иметь в архиве два заголовка для gtk2 и gtk3 (скажем w9gtk2.bi и w9gtk3.bi). В makefile внести команду , чтобы перед сборкой создавал файл window9.bi из (w9gtk2.bi или w9gtk3.bi) в зависимости от параметров, заданных в makefile.
Но вся эта чехарда ломает уже привычный способ сборки и использования для тех пользователей , кто привык за эти годы. Поэтому архивы на sf.net в любом случае будут иметь привычную технику сборку и использования.

Цитата
http://rbs-computers.ru/rbs-computers-a20


Цены у них не конкурентоспособные. Тот же orange pi примерно с такими же параметрами стоит более чем в 2 раза дешевле.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
useful630Дата: Понедельник, 03.10.2022, 18:04 | Сообщение # 27
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Цитата haav ()
Но вся эта чехарда ломает уже привычный способ сборки

Я веду речь о упаковке в пакеты и размещение в репозиторий Альта. И логика такой организации ведёт к необходимости 4х пакетов(библиотек) x86gtk2,x86gtk3,x64gtk2,x64gtk3
И при использовании мультилиб даже одновременно могут оказаться установленными все 4-ре.

p.s. Представь, что тебе gtk-шники говорят: выбери что то одно и пользуйся без чехарды ...  smile


Сообщение отредактировал useful630 - Понедельник, 03.10.2022, 18:13
 
haavДата: Понедельник, 03.10.2022, 19:03 | Сообщение # 28
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Не знаю насчет мультилиба , никогда не ставил 32-bit компиль на x64 в линуксе. И даже не знаю , как там все это дело будет работать. А для gtk2\gtk3 я описал возможный способ. Может он не самый лучший , но другого попроще я придумать не могу. У сишников gtk либы линкуются вручную. Код один и тот же , но команда компиляции разная. В FB , версия GTK либы для линковки задается в исходном коде (как я и писал с помощью #define __USE_GTK3__). Так что если на компе оказываются 2 версии , то эти имена надо прописать в файле window9.bi макросом (ниже часть измененного кода из window9.bi). А уж задавать , какую либу использовать в компиляции придется вручную в исходном коде самой программы. Конечно можно выпилить вообще из файла window9.bi команду линковки и тоже вручную например в терминале задавать библиотеки для линковки , но это мало кто любит на FB.

Код
...

#if __fb_out_exe__ Orelse __fb_out_dll__
    
    #ifdef __USE_GTK3__
  
  #inclib "w9_gtk3"
  
    #else
    
  #inclib "w9_gtk2"
  
    #EndIf
    
    #inclib "X11"
    
    #ifndef disable_webgadget
    
  #ifdef __USE_GTK3__
  
  #inclib "webkit2gtk-3.0"
  
  #else
  
  #inclib "webkitgtk-1.0"
  
  #endif

    #endif

    gtk_init (0, 0)    

#else

...


Можно запилить сюда возможность линковать 32-bit версии с помощью макроса #ifdef __FB_64BIT__ , но как я и сказал , я понятия не имею как 32-bit компиль будет работать на x64. Но если хочешь , то это будет выглядеть примерно так:

Код
...

#if __fb_out_exe__ Orelse __fb_out_dll__
    
    #ifdef __FB_64BIT__
  #ifdef __USE_GTK3__
   
   #inclib "w9_gtk3_x64"
   
  #else
  
   #inclib "w9_gtk2_x64"
   
  #EndIf
    #else
  #ifdef __USE_GTK3__
   
   #inclib "w9_gtk3_x32"
   
  #else
  
   #inclib "w9_gtk2_x32"
   
  #EndIf
    #EndIf
    
    #inclib "X11"
    
    #ifndef disable_webgadget
    
  #ifdef __USE_GTK3__
  
  #inclib "webkit2gtk-3.0"
  
  #else
  
  #inclib "webkitgtk-1.0"
  
  #endif

    #endif

    gtk_init (0, 0)    

#else

...


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Библиотеки для FreeBasic » Библиотека Window9 для Freebasic » window9 в репозитории AltLinux
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: