|
0 / 0 / 0
Регистрация: 20.07.2022
Сообщений: 44
|
|
Ищу сторонние библиотеки (third-party libraries) для FreeBASIC на Windows и DOS27.09.2024, 08:18. Показов 12332. Ответов 198
Метки нет (Все метки)
Где в Интернете можно найти полный список сторонних библиотек (third-party libraries), которые можно использовать в программах на FreeBASIC, со ссылками для их скачивания для Windows (начиная с Windows 98) и DOS? Поиск в Яндексе и Google по запросу "Download Third-Party Libraries for FreeBASIC" (без кавычек) не дает никаких результатов.
0
|
|
| 27.09.2024, 08:18 | |
|
Ответы с готовыми решениями:
198
С++ Windows Form, WinAPI и сторонние библиотеки
FreeBasic. Библиотеки |
|
|
|
| 25.10.2024, 13:05 | |
|
Думаю, первоначальный автор (Andre Victor), делал его ради самоутверждения, когда цель была достигнута, т.е. работающий компилятор, то интерес был сразу же потерян.
0
|
|
|
|
||
| 25.10.2024, 15:31 | ||
|
1
|
||
|
Кормпилятор
|
|||
| 27.10.2024, 21:46 | |||
|
И он к QB, скорее всего, никакого отношения не имел, полагаю он смутно понимает идеологию языка, хотя и много сделал для него. Помню Стас делал сборку(одну из своих первых, с кучей бинарников-библ) где всё нормально работало, там даже OpenGL подсвечивался как надо, единственное что, там была старая версия FBEdit с одним неприятным багом, который я нашёл, это всё кроме бага с русскими путями(который вообще х*р проссышь откуда взялся). Дальше там с какой-то версии, начали внедрять ООП. И всё резко обкакалось. Могу предположить что в самых первых версиях вообще не шло речи о добавлении в BASIC синтаксис, того же си, включая препроцессор и прочие штуки, это всё выглядит очень стрёмно, макросы например тот же PB умеет делать самостоятельно если почитать ASM код старых компилей, на кой чёрт они в BASIC коде. Единственное что там нормально было сделано это ASM, но учитывая уровень документации - всё считай там изучается "наощуп", пока нащупаешь уже всё желание кодить отпадёт. Одно дело для создателей библиотек. Сделали бы форк, мол пусть пишут либы, чтобы люди могли их использовать в виде бинарных статических библиотек и не видели этого говнокода, но использовались эти либы чтобы без ООП(как они там внутри работают - решительно насрать). Но так нет же. Мало того говнокод, абсолютно лично для меня неюзабельный, ибо не расплести до низов - хуже кода с GOTO, так ещё и использование декларирует применение ООП модели. И это ещё с заморочами со статикой с линуксовой(на кой хрен брать было этот формат, а не *.lib, который от версии к версии FB так же не совместим, ну потому что берёшь предыдущую версию библы где мало чего менялось, вставляешь оттуда бинарник либы и компиль тебе пишет, что оно не совместимо в прямом смысле) т.е. настолько тупой линкер, который вообще ничего прилинковать не может. Крайне странные решения, не устроило их видите ли что нельзя напрямую с си тырить библы, ну так и сейчас нельзя, конвертеры хедеров кривые, на хедеры вообще без слёз не взглянешь, одни "указатели на указатели", от версии к версии совместимость пропадает с тех же 0.22 взять либы - наверное ни одна не заработает, даже с 1.00-1.05 уже проблемно что-то брать. Например, штук пять 3D движков вчера просто проверить решил, ни один на последней не завёлся, и версия компиля не подписана естессно, трахайся проверяй, подбирай ключик к замку. И тут дело не в бесплатности и не в недостаточности комьюнити(оно большое). Просто есть куча людей, которые читали википедию, но не понимают что такое бейсик и зачем он нужен, из-за этих людей все проблемы. И если бы хоть кто-нибудь из них взглянул на три бейсика: QuickBasic, BlitzBasic и PureBasic с идеологической и продуктовой(из коробки) точки зрения, то они бы начали понемногу допетривать в чём сила этого языка. Бейсик он не для того, чтобы колупаться в нутрах и епстись с ассемблером, эти опции должны быть, но не с порога, с порога надо чтобы "коврик лежал под ногами, стул чтобы сесть, диван чтобы лечь и т.п.", а не "голые стены, доски и молоток", при этом периодически приходят ревизоры и конфискуют имущество, ну так, чтобы не расслаблялся.
1
|
|||
|
Кормпилятор
|
|
| 28.10.2024, 08:06 | |
|
locm, я не тестировал как оно там работает, ни разу не интересно. Там сейчас уже
мало что работает, почти все старые работы сдохли, завести их сможет только человек, который в совершенстве владеет FB и не просто владеет, а следил за изменениями всех версий. Я этим [тут подобрать нужное слово], слава богу, в совершенстве не владею(т.к. оно уже давно сравнивается по сложности с тем же си) и сильно не следил за беклогами. На самом деле не хочется углубляться в подробности, потому что будет куча суровых русских слов в сторону разрабов, можно сказать одно: эти люди, пришедшие с другого ЯП, не будем говорить какого, люто обделались в штаны, изгадили нормальное начинание и потирая руки, спокойно разошлись. Куча работы комьюнити была слита в унитаз. Если 10 лет назад оно как-то ковыляло на одном костыле, то сейчас это инвалид без костыля и коляски, костыль сломался, а коляску разбили вандалы.
0
|
|
| 28.10.2024, 17:38 | ||
|
0
|
||
|
Кормпилятор
|
||
| 28.10.2024, 18:49 | ||
|
того, что они хотели. Думаю там очень нефиговые нюансы. VB насколько мне известно довольно спокойно подключает dll-ки, нужно только самому писать декларации. Тема всё равно протухнет, поэтому я бы тут предпочёл обсудить вообще какие-нибудь чисто прогерские насущные вопросы. Например очень бы кстати пришёлся таймер, высокоскоростной(до 1000 коллбеков в секунду), и чтобы не жрал целое ядро, у меня есть два решения. Оба на потоках(один вариант жрёт целое ядро, второй - до половины, один даёт 12 тыс коллбеков(на моём компе), второй не очень стабилен ~10-25тыс коллбеков), но я бы почитал что коллеги скажут, потому что облазил пол инета и там кукиш с маслом. Желательно что-то простое, чтобы не пришлось читать целый учебник дабы завести элементарный таймер в коллбеке. Под DOS это было сделать просто, там было аж целых 3 канала таймера, перехватывался вектор и делались грязные дела с тактовым генератором через порты. Под виндой же как понимаю есть какие-то проблемы и вопрос особо нигде не обсуждается.
0
|
||
|
Кормпилятор
|
|||||||
| 28.10.2024, 19:28 | |||||||
И в потоке - так же. Да он превосходно бережёт время ЦП, но и как разграничитель времени он - смешной. Ещё бывает, что включаешь фоном браузер и ввжжуххх этот слип, внезапно, начинает лопатить 1000 кадров. Т.е. взял, подвязался так к нему эпично, чувак открыл фоном браузер, твою прогу и вжууух - нежданчик. Когда моя уже старенькая видеокарта может делать 8000 FLIP-ов за секунду. Или встроенный в FB таймер(считывалка значения) переключается примерно 12000 раз. Так много конечно не надо, для отображения хватает обычно 60-75, максимум 120-150(для плавности картинки), а вот на обсчёт движков хотелось бы ставить от 300 кадров в зависимости от назначения движка. И не методом "а давай ка мы сольём 5 кадров в один" быстренько в цикле за 0 секунд. Может не все понимают разницу, но для движка это пролаг, он должен реально градуироваться по времени(например для минимизации задержки ввода, поскольку ввод мы обсчитываем в цикле, привязанном к какому-либо движку). Т.е. это можно делать только имея сверхточный быстрый таймер, внутри которого можно поставить "прореживалку" до необходимой частоты. Но вообще это не столь важно, я просто думал что кому-то это будет интересно поколупать. Это вроде просто технический аспект, не привязанный к какой-либо области.
0
|
|||||||
|
Модератор
|
|
| 28.10.2024, 20:00 | |
|
Quiet Snow, в винде есть мультимедийные таймеры, которые твой SLEEP и ускоряют когда ты браузер запускаешь. По сути у тебя планировщик начинает работать с большей частотой поэтому и твой поток чаще получает управление, но тут есть потеря производительности на переключение контекста.
0
|
|
|
Кормпилятор
|
||
| 28.10.2024, 21:26 | ||
|
работе планировщика(это же по сути ядро), но когда увидел в чём весь сыр бор - офигел. Штука странная, местами неприятная. Если что, второй вариант таймера - это классический код producer-consumer. В целом меня устраивает, разве что так и не понял сам механизм, но он тупо на мьютексах, в интернете таких схем не видел, там мьютексы + семафоры. Кто-то схитрожопил, может есть подводные камни, не знаю, пока не понял. Но странно, что никто не копал по теме альтернативных таймеров. Наверняка же что-то стандартизованное в винде должно быть. Не все же будут такие костыли городить. Добавлено через 1 час 2 минуты The trick, немного бегло ознакомился с "мультимедийными таймерами". Как правильнее организовать? Создать фиктивное окно в потоке, с обработчиком сообщений, создать объект ядра, оттуда посылать сообщение в окно, из окна уже делать вызов функции обратного вызова? Получится так, или что-то не догоняю?
0
|
||
|
|
||
| 28.10.2024, 21:33 | ||
Сообщение было отмечено Quiet Snow как решение
Решение
1
|
||
|
Кормпилятор
|
||||||||
| 28.10.2024, 23:51 | ||||||||
|
когда оно крякнется. Пример, собранный из кусков:
Самое забавное, функция, судя по документации, ещё с 2000-й винды, но в FB её по умолчанию так и не добавили, что сопровождает все поделки на нём этими "весёлыми эффектами" американских горок. А ведь там действительно приличная FBGfx, так-то вроде понятно что где-то в фоне ещё должно висеть окошко с OpenGL, подёргивающее иногда FLIP, чтобы видеокарта подняла частоты. И эта, собственно, функция, чтобы увеличить скорость мультимедийных таймеров. Ну и конечно каким-то чёртом надо озаботиться о том, чтобы не было вертикальной синхронизации(тут уже сложнее). Разве что работать через GFX_NULL, парни тут вроде говорили, что можно аппаратно блиттить. Короче есть куда копнуть в плане нормального обработчика. Если же в OpenGL, то вроде можно с помощью расширения выключить вертикальную синхронизацию, ну конечно если в драйвере установлено значение "авто" или "управление от приложения". Добавлено через 35 минут QBLang код в FBLang" из-за схожести синтаксиса. Потому они так и делали. Просто QB код был по сути устаревшим и его почти не поддерживали, как и FBLite. По сути диалектом FB просто заменили QB и оно уже далеко не бейсик, при том сам QB диалект весьма кастрирован. Помню смотрел, как там WinAPI вызывать, чисто для портирования, ну настолько дерьмово оно сделано если с QB диалекта надо это сделать. Просто "мехом внутрь"... Ну т.е. если 100% не знаешь - никогда не догадаешься.
0
|
||||||||
|
Кормпилятор
|
||||||||||||
| 29.10.2024, 06:21 | ||||||||||||
|
Увидел случайно в примере от Antony Gual, когда переписывал под FB.
но возможно забыл и спутал или с какой-то версии выпилили. Добавлено через 23 минуты ... короче ещё немного порылся, да можно было, но, сами понимаете насколько через жопу, доходит до маразма:
0
|
||||||||||||
|
Кормпилятор
|
||||||||
| 30.10.2024, 01:18 | ||||||||
|
А если точно не знать, что типы надо брать с FB через подчёркивание и как конкретно декларировать - то и не догадаешься вовсе. Это на самом деле не открывает никаких широких возможностей портирования как людям может показаться. Лучше всё равно переписывать на FBLite или FB.
0
|
||||||||
|
|
||
| 30.10.2024, 13:57 | ||
|
Ну и пишут наверно эти расширения, благодаря тому, что есть указатели и динамическое выделение памяти. Но зачем тратить на это свое время в basic? Графическая библа из коробки? Да, это круто. Но и в Си можно подключить любую графическую библиотеку коих воз и маленькая тележка, и будет не просто то же самое, а будет гораздо лучше и быстрее все работать. А лучше потому, что все прозрачней, хотя также до определенной степени. Вывод прост: до сих пор не создана достойная альтернатива VB, что бы было во многом как там, с своей ide, но не привязано к одной ОС, и чтобы бы было все прозрачней, чем в VB. Чтобы можно было дотянуться до потрохов, и даже кое что там менять если потребуется. Я не думаю, что путь чистой компиляции в один исполняемый файл это наиболее правильный путь, конкретно для basic. Лучше через p-код, или шитый промежуточный код, посредством виртуальной машины. Но виртуальная машина должна быть достаточно компактной и быстрой, что бы быть зашитой в exe. При этом мы избежим проблем совместимости версий. Можно будет создавать модули чисто на промежуточном языке, чтобы менять условия компиляции на более высокоуровневом ЯП, а можно добавлять в промежуточный ЯП функции на асме не перекомпилируя существующих exe, то есть обновление может происходить на ходу, причем делаться самими пользователями. Я думаю, что любая система должна иметь сквозную прозрачность сверху до низу, чтобы быть понятной и легко регулируемой.
0
|
||
| 30.10.2024, 13:57 | |
|
Нет библиотеки com.anylogic.libraries.enterprise Создание статической библиотеки в FreeBasic Сетевые библиотеки для DOS Сторонние библиотеки Сторонние библиотеки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|