Профиль: Аноним (вход | регистрация)
OpenNET

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



"Представлена библиотека WinCore для работы Win32-программ в Linux и macOS"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлена библиотека WinCore для работы Win32-программ в Linux и macOS"  +/–
Сообщение от opennews (??), 06-Окт-26, 21:17 
Проект WinCore развивает слой совместимости с Win32/WGL, позволяющий компилировать  код Windows-программ, написанный на C/C++ с использованием классического API Win32, для запуска в  Linux и macOS. WinCore перехватывает классические обработчики Win32 и использует кросс-платформенные бэкенды для отрисовки через SDL3 или SDL2. Код написан на C++  и распространяется под лицензией LGPLv3...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=66412

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 06-Окт-26, 21:17   –18 +/–
Программы на win32 api остались в 95 году, у них есть примеры, где это можно применить? Опять нейронки?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #8, #82

2. Сообщение от Ваня фанат СПО из подмосковья (?), 06-Окт-26, 21:20   –18 +/–
> написанный на C/C++

привет из 90х

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #36, #86

3. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:22   +6 +/–
Для написания движков, графических утилит. Портировпния старых игр. Но на данный момент, поддержка winapi ограничена.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #55

4. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:25   +1 +/–
На первый взгляд да 90-ые. Но это один API, для инициализации, окна, событий, работы с gl, в будущем с vk. И библиотека имеет поддержку нескольких бэкендов. Проще портировать не только на другие библиотеки, а на другие ос, новые или старые.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

5. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:26   –1 +/–
Добавьте пожалуйста в тему несколько скриншотов с гитзаьа для визуализации. Они как раз ламповые. Просто что бы показать, что проект в активной разработке и уже работает базовый функционал.
Ответить | Правка | Наверх | Cообщить модератору

6. Сообщение от Аноним (6), 06-Окт-26, 21:27   +5 +/–
Чем это лучше вайна?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #75

8. Сообщение от warlock66613email (ok), 06-Окт-26, 21:31   +13 +/–
Почти все программы под Windows в конечном счёте используют Win32 API. Может вы перепутали, потому что думаете, что в 64-битных Windows Win64 API? Нет, такого в природе нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #10, #50

9. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:33   +2 +/–
Вайн нужен для бинарной трансляции. Данная библиотека работает на уровне исходников.

Нужно с этой библиотекой собрать winapi приложение.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #16, #17, #72

10. Сообщение от Аноним (1), 06-Окт-26, 21:34   +1 +/–
Нет, я думаю, что в венде больше 40 штатных тулкитов сбоку от винапи и конкретно винапи ими либо не используется, либо используется минимально (например, параметры окна задают). И любая прогпамма выпущенная после 95 года не будет зависеть от конкретно винапи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #20, #34

12. Сообщение от Аноним (22), 06-Окт-26, 21:36   +3 +/–
> Проект стал результатом переосмысления библиотеки LDL, того же автора, который пришёл к выводу...

...что настало время очередного нейрослоп-проекта, азазазаза!

> логичнее взять проверенный временем процедурный интерфейс Win32 API и сделать его переносимым на разные ОС и устройства

Автор, алё, Wine уже много лет как существует.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15

14. Сообщение от Ivan_83 (ok), 06-Окт-26, 21:39   +/–
Клёво, жаль только что внутри кресты, а учитывая что это 98 - то не понятно зачем.

Тоже много думал над чем то подобным, но времени не особо притом что работы там куча.

Ещё не понятно не наложет ли МС свою DCMA лапу, а то оракл с кем то там долго судился за заголовочники джавы или что то такое.

Интересно как скоро можно будет собрать с этим Miranda NG - они давно хотели портироватся, но проект состоит наверное на 80% из WinAPI кода.

Хотелось бы увидеть какие то реальные проекты собранные под не венду, типа Notepad++ или ещё что то.

Да, там же потом придётся работу с сокетами тоже делать, вот эти все WSA*** и через оконные сообщения в том числе тоже. А то многие проги не портанутся :)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #31

15. Сообщение от Ivan_83 (ok), 06-Окт-26, 21:41   +/–
wine для запуска готовых бинарников.
А тут ты можешь взять эту либу и вместо гтк/кт/вихвиджетов и прочего шлака сделать гуй. Либо наверное какие то примитивные проги уже сейчас собрать нативно под линухом.

Правда учитывая объявленные автором числа реализованного то даже хэлловрот будет сложновато собрать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #18, #19

16. Сообщение от Gentoofan (?), 06-Окт-26, 21:43   +2 +/–
а что насчёт https://gitlab.winehq.org/wine/wine/-/wikis/Winelib-User...?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #22

17. Сообщение от Аноним (22), 06-Окт-26, 21:45   +2 +/–
> Вайн нужен для бинарной трансляции. Данная библиотека работает на уровне исходников.

"работает на уровне исходников" - это что такое, лол? Вы о динамической линковке (которая как раз и применяется в WinAPI/Wine) ничего не слышали, да?

> Нужно с этой библиотекой собрать winapi приложение

Нет, не нужно, ибо winapi приложения уже и так работают в Wine без каких-либо перекомпиляций.

Скажи спасибо МС за самый стабильный API для Линукса, лол.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #52, #89

18. Сообщение от Аноним (22), 06-Окт-26, 21:47   +/–
> wine для запуска готовых бинарников

Вот именно: даже пересобирать не нужно.

> А тут ты можешь взять эту либу и вместо гтк/кт/вихвиджетов и прочего шлака сделать гуй

Нет, не могу, потому что автор осилил вон полторы функции из всего WinAPI.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #21, #24

19. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:47   +/–
Да, сейчас поддержка именно мультимедиа части, окна, события, ввод, инициализация gl, и зачатки GDI. Дальше потоки в упрощено модели. То есть один поток на окно, без ipc между окнами как в оригинальном win32. Остальные примитивы это рисунмые объекты.

Этого хватит для 90% софта. Остальное слишком глубоко работает с win32.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #28, #71

20. Сообщение от Ivan_83 (ok), 06-Окт-26, 21:48   +/–
> И любая прогпамма выпущенная после 95 года не будет зависеть от конкретно винапи.

Я как то слабо себе представляю такое, хотя писать начал в 2003 и закончил году в 2016 под венду то.
Насколько я знаю, там есть вот эти оконные винапи либо ты берёшь опенгл/директХ и дальше там сам внутри рисуешь.
Но даже так ты остаёшься внутри "вин апи" пространства и его оконной части, как минимум windowsstation держит весь твой сеанс внутри desktop (если правильно помню названия).

А всё что не опенгл/директХ - оно оперирует внутри именно что оконными винапи, и не важно скрыто это за слоями абстракций или нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #23

21. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:49   +2 +/–
Я осилил базовые функции для написания 2d,3d движка. Дальше будет больше. Этой новостью я ещё ищу контрибуторов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #25

22. Сообщение от Аноним (22), 06-Окт-26, 21:49   +7 +/–
> а что насчёт
> Winelib

Насчет этого автор тоже не в курсе. 👍

Winelib is a development toolkit which allows you to compile your
Windows applications on Unix.
Most of Winelib code consists of the Win32 API implementation

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #88

23. Сообщение от Аноним (1), 06-Окт-26, 21:51   +1 +/–
окна это меньшая из проблем при портировании
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

24. Сообщение от Ivan_83 (ok), 06-Окт-26, 21:51   +3 +/–
> Вот именно: даже пересобирать не нужно.

А вот я бы хотел нативно чтобы был WinAPI для гуя на "линухе", чтобы можно было и нотепад++ собрать и своё что то налабать.
гтк мне не нравится, кт даже пробовать не хочу.

> Нет, не могу, потому что автор осилил вон полторы функции из всего WinAPI.

Так репе двое суток всего.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #26, #49

25. Сообщение от Аноним (22), 06-Окт-26, 21:52   +/–
> Я осилил базовые функции для написания 2d,3d движка

Во-первых, зачем тебе WinAPI для какого-либо движка, при наличии SDL и подобных либ?

Во-вторых, ты что, правда еще и NIH 3д движок собираешься писать? 🤦

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #27

26. Сообщение от Аноним (22), 06-Окт-26, 21:55   +/–
>> Вот именно: даже пересобирать не нужно.
> А вот я бы хотел нативно чтобы был WinAPI для гуя на "линухе",

Wine и так нативный. Он не поверх Gtk/Qt/etc. И Notepad++ можно собрать, и вообще написать виндовую прогу с нуля.

Хз, что тебе еще для счастья нужно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #38

27. Сообщение от JordanCpp2email (?), 06-Окт-26, 21:57   +/–
Так в этом суть, что зависимость только от Winapi, но работать он может на всех версиях SDL 1,2,3. Sfml, raylib и других бэкэндах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #32

28. Сообщение от Ivan_83 (ok), 06-Окт-26, 22:00   +/–
Так нужен хотя бы базовый набор контролов: прогрессбар, текстбокс, комбобокс, листбокс, кнопка. Меню, тулбар, прогресс бар.
Поддержка сабкласинга.
Ещё неплохо бы поддержку диалогов из ресурсов и вообще инструментарий какой то чтобы эти ресурсы компелять, хотя бы окна с иконками и может ещё что то.

Без этого всего даже хэлловрот не соберётся, тот что был в вижалс++ 6 версии в темплейтах.

Меня всегда останавливал объём работы и вопросы лицензионности.
Я ещё помню сколько сотен там всяких WM_ сообщений было и что для каждого контрола ещё наверное по сотне своих специфичных сообщений.

GL то прекрасно и без этого портируется.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

29. Сообщение от Ананоним (?), 06-Окт-26, 22:00   +/–
> Интересно как скоро можно будет собрать с этим Miranda NG - они давно хотели портироватся, но проект состоит наверное на 80% из WinAPI кода.

Кто им мешает написать функции-переходники для работы на других платформах как в этой библиотеке? Иди типа если протитип функции написал кто-то в Микрослоп, то уже всё, хана, капирасты задрючат по судам, если они реализуют свои функции для таких прототипов?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

31. Сообщение от JordanCpp2email (?), 06-Окт-26, 22:02   +/–
C++ 98 для поддержки обширного числа ос новых, старых, а так же железа. Код максимально прост, не перегружен фичами. На си это бы все выглядело сложнее.

С++ 98, собирается любым новым и старым компилятором, потому это большой плюс для разработки и поддержки разных компиляторов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #33

32. Сообщение от Аноним (22), 06-Окт-26, 22:12   +/–
> Так в этом суть, что зависимость только от Winapi, но работать он может на всех версиях SDL 1,2,3. Sfml, raylib и других бэкэндах.

Адекватные люди делают как раз наоборот: скрывают платформоспецифичные API под SDL и им подобными. Дабы скрыть и обойти ограничения и баги этих поюлатформоспецифичных API, предоставив одинаковое поведение на всех платформах.

Но ничего, с твоим подходом тебя впереди ждет много удивительных открытий, лол.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #39

33. Сообщение от Ivan_83 (ok), 06-Окт-26, 22:15   +1 +/–
MessageQueue и WindowManager у вас только крестовые функции из либ юзают, не вижу сложностей их не юзать а взять что то другое из С либ или притащить/написать.

    DWORD GetTickCount();
    void Sleep(DWORD dwMilliseconds);
Можно было и не тягать из SDL а реализовать внутри на POSIX API.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #35

34. Сообщение от warlock66613email (ok), 06-Окт-26, 22:23   +1 +/–
Нет, никаких "сбоку" в винде нет, кроме упомянутых DirectX/OpenGL. Единственный способ не использовать WinAPI — использовать ядерное API, но программы на ядерном API большая редкость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #69

35. Сообщение от JordanCpp2email (?), 06-Окт-26, 22:32   +1 +/–
Я думаю для многопоточности взять ptheard что бы реализовать winapi примитивы для всех систем. Это проще, чем для бэкенда на SDL 1 использовать его примитивы, для SDL 2 его примитивы и т.д

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #37

36. Сообщение от Инопланетянин (?), 06-Окт-26, 22:49   +9 +/–
Нулевые были классные...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #58

37. Сообщение от Ivan_83 (ok), 06-Окт-26, 22:54   +/–
Я кажется где то (FreeRDP-winpnr) видел готовые куски, посмотрите там - у них тоже свой слой винапи есть, хоть и мизерный.
https://github.com/FreeRDP/FreeRDP/blob/master/winpr/include...
и там дальше...
Хотя выглядит там всё внутри переусложнённым, хз реально это всё надо или можно просто обойтись врапперами на posix threads.


> Но вот на си программировать желания нет.

Так у вас там и так по сути С код, от крестов только те два модуля, в остальных разве что синтаксис поправить и всё.
Для очереди можно взять sys/queue.h - TAILQ_HEAD()... оно есть на линухе и бсд и мак и чуть ли не кусок посикса.
Для списка окон в теории тоже, как минимум для начала сойдёт, пока окон мало. Хотя технически ничего не мешает использовать какую то надстройку над обычным массивом, где hwnd=index.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

38. Сообщение от Ivan_83 (ok), 06-Окт-26, 23:02   +/–
Мне не нравится запускать через вайн.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

39. Сообщение от Ivan_83 (ok), 06-Окт-26, 23:05   +1 +/–
Сравните сколько софта написано под SDL и сколько под WinAPI.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #42

41. Сообщение от ппппппп (?), 06-Окт-26, 23:09   +1 +/–
> написанный на C/C++

Не бывает C/C++
Есть C
Есть C++
А если ты их поделишь друг на друга, то будет ++ какой-то

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44, #60, #68

42. Сообщение от Аноним (1), 06-Окт-26, 23:15   +2 +/–
кстати, все игры на unreal engine на sdl
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

43. Сообщение от Аноним (44), 06-Окт-26, 23:32   +1 +/–
Автор выбрал правильный путь. Просто спросить нейросеть.
Ответить | Правка | Наверх | Cообщить модератору

44. Сообщение от Аноним (44), 06-Окт-26, 23:35   +/–
Будет null/++ грамотей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #45

45. Сообщение от Аноним (45), 07-Окт-26, 00:14   +5 +/–
1/++ будет. Оба вы грамотеи :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

46. Сообщение от MooSE (ok), 07-Окт-26, 00:22   +1 +/–
Всё равно пока не понял: а чем оно отличается от winelib+winegcc+winemaker? Когда мне вот вот очень было надо код на pure c + winapi собрать под Linux мне вполне хватило winegcc.

Какую задачу решает сабж, которую он не смог решить с помощью winelib?

Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от aaa (??), 07-Окт-26, 01:45   +/–
как раз поддержку xlib из mesa собираются удалять
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/44957
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

49. Сообщение от Аноним (49), 07-Окт-26, 02:00   +/–
Winelib
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

50. Сообщение от Аноним (-), 07-Окт-26, 02:01   –1 +/–
А мне казалось что в Windows сейчас даже пуск написан на React Native. Так что никакого Win32 API кода в приложениях сейчас и близко нет. Оно разве что могло где-то глубоко в тулкитах и фреймворка за кучей слоёв абстракций осталось. А в таких случаях подобные библиотеки не помогут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #53, #59, #62

52. Сообщение от Аноним (52), 07-Окт-26, 02:43   +1 +/–
>Скажи спасибо МС за самый стабильный API для Линукса

В линукс пользовательское api очень стабильно, если что.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #77

53. Сообщение от warlock66613email (ok), 07-Окт-26, 03:39   +/–
Ну, про код я как раз ничего не говорил. А библиотека заявляется не для портирования уже существующих приложений, а для написания новых.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

55. Сообщение от Смузихлёб забывший пароль (?), 07-Окт-26, 04:56   +4 +/–
И много у тебя старых игр с исходниками и работающей компиляцией ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #56

56. Сообщение от Аноним (56), 07-Окт-26, 05:36   –1 +/–
Открой для себя wikipedia... Если тебе не нужно не значит что никому.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

58. Сообщение от Аноним (56), 07-Окт-26, 05:41   –2 +/–
Нет 90-тые, а это уже пошло - игры на C# и даже на JS и т.п. Притом и на Сях - с тормозами как на этих...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #81

59. Сообщение от Аноним324 (ok), 07-Окт-26, 06:57   +3 +/–
Пуск на реакте это же брехня, пуск всё так же на плюсах с кучей xml. Из реакта там только поиск через интернет, что логично, потому что там буквально webview еджа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

60. Сообщение от morphe (?), 07-Окт-26, 07:25   –1 +/–
В выражении

C/C++

Нет точки следования, и это UB

Надо писать

int a = C;
int b = C++;

a/b == 1

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #67

61. Сообщение от Ананимус (?), 07-Окт-26, 07:51   +1 +/–
ПО в котором из исходников используют голый WinAPI для интерфейса не много. Кроме hellowoed'ов, студенческих дидактических работ и очень старого ПО. Используют различный фреймфорки для интерфейсов. Перетранслировать нечего.
Это автор и сам похоже заметил, ограничившись частичной реализацией, ибо, например, что то полезное взять и перетранслировать с гитхаб не выйдет, ибо на winapi там только мелочи
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #65

62. Сообщение от Shantikov (?), 07-Окт-26, 08:46   +2 +/–
С Win32 API работает буквально каждое окно проводника, большинство программ с графическим интерфейсом, среды выполнения, фоновые службы, ну и консольные утилиты, типа ping
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

63. Сообщение от Аноним (63), 07-Окт-26, 09:51   +/–
>API Win32

На экосистеме Linux оно не нужно. И даже, его присутствие вредно.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #66

65. Сообщение от Аноним (65), 07-Окт-26, 09:55   +/–
Ты не в курсе что значит WinAPI
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

66. Сообщение от Аноним (-), 07-Окт-26, 10:58   +/–
>>API Win32
> На экосистеме Linux оно не нужно. И даже, его присутствие вредно.

Жаль альтернатив нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #79, #91

67. Сообщение от Аноним (67), 07-Окт-26, 11:24   +/–
а если так: (C/C)++ ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

68. Сообщение от _kp (ok), 07-Окт-26, 11:35   +1 +/–
>>Не бывает C/C++

*опа есть а слова нет?

Большие проекты часто написаны на C и C++ одновременно. Разговорное сокращение - на C/C++.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #74

69. Сообщение от Европа (?), 07-Окт-26, 12:05   +2 +/–
И кроме WinRT - современная альтернатива Win32Api, которая используется в UWP-приложениях. В WinRT тоже обертки над NativeAPI, как и в Win32Api.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #70, #85

70. Сообщение от warlock66613email (ok), 07-Окт-26, 12:06   +/–
Спасибо, не знал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

71. Сообщение от Имя (?), 07-Окт-26, 12:21   +1 +/–
"Этого хватит для 90% софта. Остальное слишком глубоко работает с win32"
а может и не для 90% , а для 75%
и не для 75%, а для 45%
автор слишком оптимистично настроен.. не стоит водить за нос других, разочарование будет болезненным для вас
Резюме: проект никогда не будет доведен до состояния когда им можно будет пользоваться. Обещанные возможности не реализуемы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

72. Сообщение от Аноним (72), 07-Окт-26, 12:48   +/–
А если софт был написан с MFC или Borland OWL, то пойдёт?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

74. Сообщение от Аноним (72), 07-Окт-26, 13:05   +1 +/–
Во, хоть один человек логично растолковал. Надеюсь, положил конец давнему спору.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #94

75. Сообщение от Аноним (75), 07-Окт-26, 13:15   +/–
Пока оно не лучше nanowindows, и до winelib далеко очень.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #48

76. Сообщение от Аноним (76), 07-Окт-26, 13:37   +/–
Во-первых, удивительно, как много тут экспертов по программированию для венды.

Во-вторых, удивительно, как мало призывов переписать на специально изобретённом для бесконечного переписывания (потому что разобраться в слопокоде нереально, тотальная нечитабельность) языке, который на этапе свадьбы гарантирует, что невесту никто не обесчесчивал.

Ответить | Правка | Наверх | Cообщить модератору

77. Сообщение от Метрика (?), 07-Окт-26, 13:42   +/–
За win в названии мелкомягкие предьяву кинут на сходке
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

78. Сообщение от тоже Анонимemail (ok), 07-Окт-26, 14:54   +2 +/–
WinAPI? Это кладбище антипаттернов, заваленное функциями с десятком параметров, половина которых передается по ссылке или указателю, потому что непредсказуемо меняется внутри этого говнокода, при этом под капотом у этих функций дерганье системных вызовов к тому, чего в нормальных системах отродясь не было и не будет?

Как можно не хотеть писать на таком сокровище НОВЫЙ код под открытые системы в 2026?..

Ответить | Правка | Наверх | Cообщить модератору

79. Сообщение от Аноним (79), 07-Окт-26, 15:18   +/–
В смысле?! Использовать GTK и Qt религия не позволяет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #93

80. Сообщение от Аноним (80), 07-Окт-26, 17:35   +/–
Cygwin чтоли переизобрел?
Ответить | Правка | Наверх | Cообщить модератору

81. Сообщение от Инопланетянин (?), 08-Окт-26, 01:07   +/–
> 90-тые
> игры на JS

Тяжело... тяжело (с)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

82. Сообщение от Феникс123 (?), 08-Окт-26, 06:05   +1 +/–
> Программы на win32 api остались в 95 году

Первое новое API после Win32 - это вроде Metro, которое появилось в 2012 и на нем никто особо не писал (потому что твое приложение поставить можно было только через стор). Ну то есть явное не 95г. Рендерить еще можно через OpenGL, DirectX, Vulcan, я так понимаю что это эмулируется еще лучше.

По теме: наконец то стабильное API на Linux.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #83

83. Сообщение от Аноним (1), 08-Окт-26, 07:26   +/–
Метро это не апи, это, грубо говоря, winrt. Оно давно заменило нативные приложения и большинство программ в сторе на uwp. Помимо этого, были ещё wpf и windows forms, которые абстрагировали win32. Гораздо интереснее была бы поддержка winmm через sdl -- в этом месте совместимость венды всегда лажает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #84

84. Сообщение от Феникс123 (?), 08-Окт-26, 09:43   +/–
Что-то я не разобрал ваш комментарий. Для Metro приложений (потом metro пришлось переименовать во что-то более скучное но менее trademark защищенное) был свой API для разработки приложений, вот этот встроенный в ОС API оказалось новым способом писать приложения, и это было намного позже 95г. WPF/WinForms - просто обертка поверх win32, т.е. все еще win32. Но в целом мысль такая есть, что на Windows кроме того что есть в user32.dll и kernel32.dll (что главным образом считается win32) было еще куча разных компонентов, которые приложения могли использовать и которые которые переписывать на линуск очень скучно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

85. Сообщение от Аноним (85), 08-Окт-26, 10:04   +/–
Под NativeAPI раньше было принято подразумевать функции с префиксами Nt (Zw), то есть шлюзы в ntoskernel через ntdll, то есть примерно всё, кроме графики. Просто потому, что образ win32k.sys проецировался в адресные пространства не всех процессов.

Я правильно понимаю, что в WinRT опкоды для вызова ядра не размазаны по аналогам gdi32.dll, а выделены в некий аналог ntdll? Если так, то получается как бы ещё один способ.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

86. Сообщение от Феникс123 (?), 08-Окт-26, 10:07   +/–
> привет из 90х

У С++ было "потерянное десятилетие", когда считалось что будущее за .NET или Java. После того как переписывание Windows на .NET получило былинный отказ (времена Vista). После этого объявили возращение C++ (стандарты C++11, 14, etc), у Микрософт было время трансляций Going Native, где активно оживляли и развивали C++. То есть привет из 2010x. Сейчас время когда переписывают все на раст, тем более что переписывание вдруг резко подешевело. Нельзя исключать что в будущем будет Going Unsafe.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #90

88. Сообщение от Аноним (85), 08-Окт-26, 10:08   +/–
Естественно, автор в курсе существования альтернатив и изучил их в достаточной степени.

Если эксперт не в курсе, зачем авторы становятся авторами, это тоже вполне естественно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

89. Сообщение от Аноним (85), 08-Окт-26, 10:29   +/–
А я слышал о динамическом связывании страшные вещи, все этим занимаются:

$ file /bin/bash
/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

90. Сообщение от Метрика (?), 08-Окт-26, 10:52   +/–
C++ хоронили все кому не лень, любой язык вышедший после 1983 год мамой клянется закопать C++, но сам в эту яму попадает, там уже братская могила языков убийц плюсов
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

91. Сообщение от _kp (ok), 08-Окт-26, 12:34   +1 +/–
>>Жаль альтернатив нет.

На голом API Win32,  Вы изматеритесть писать GDI приложение, а полученные в итоге портянки никто не примет, не оценит, не похвалит.  Это и в прошлом веке было мазохизмом, еще в Windows 3.1, до Windows 95. И привело в коявлению OLE и COM объектов, повлению сред разработки типа VisualBasic, VisualStudio, Delphi.
В итоге для GUI используют различные библиотеки, но не мучатся с WinAPI из исходников.

Что касается попыток реализации. Много параметров передаются по указателам и модифицируются, полноценная реализация только GDI будет уже толстой, и нетривиальной.
А есть еще COM-объекты, который очень часто используются...

И даже если это гипотетитчески реализовать, то всплывет отсутствие примеров ПО на голом WinAPI, то есть не получится портировать какие то объёмы ПО. А писать, на том, что в Windows не использовали массово, так себе идея.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #92

92. Сообщение от тоже Анонимemail (ok), 08-Окт-26, 14:11   +2 +/–
Даже сам M$ обернул WinAPI сначала MFC, потом всякими WinForms.
А Борланд - VCL, которые использовались еще чаще.

Его место - глубоко в потрохах библиотек, а в прикладном коде может использоваться разве что в ситуации, когда весь код - на кроссплатформенной библиотеке, но конкретно под Винды надо сделать какой-нибудь специфический хак.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91

93. Сообщение от тоже Анонимemail (ok), 08-Окт-26, 14:15   +/–
GTK по юзабельности большой привет передавал.
Но есть wxWidgets с движком на WinAPI под Винды и на GTK под Линь, позволяющим не окунаться ни в то, ни в другое - и писать так же независимо от платформы, как и на Qt.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

94. Сообщение от тоже Анонимemail (ok), 08-Окт-26, 14:18   +/–
На самом деле, реально есть С/С++ - это та каша, которую дают в вузах.
Когда вроде бы учат писать на С++, но на массивах, однобайтовых строках с завершающим нулем, указателях, функциях... в общем, из C++ используется только std::cout
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

95. Сообщение от Аноним (-), 08-Окт-26, 16:21   +/–
> Автор не ставит цели, эмулировать все возможности Windows
> и фокусируется только на подсистемах для мультимедиа и движков.

Тогда пусть обломится, ValvE его давно уже обскакал на этом поле - но все это надо узкому кругу пропритарны виндопрог.

Ответить | Правка | Наверх | Cообщить модератору

96. Сообщение от Аноним (96), 08-Окт-26, 22:10   +/–
> Проект стал результатом переосмысления библиотеки LDL, того же автора, который пришёл к выводу

...что не обладает достаточным опытом для написания кросс-платформанных библиотек, а самое главное не понимает что и зачем пишет. Серьёзно, одну ты уже забросил, эту тоже забросишь. Иди лучше игру на нормальном SDL3 напиши.

> взять проверенный временем процедурный интерфейс Win32 API

На этой "проверенной временем" дряни никто давно не пишет и писать уже никогда не захочет.

> Библиотека написана на строгом C++98 для максимальной переносимости

Повторю то что уже звучало в прошлой теме - никому в реальном мире максимальная "переносимость" не нужна, нужна просто переносимость на живые платформы, под все которые внезапно есть последний стандарт. Давай будем честными: у тебя цель -  сделать максимально неудобное говно чтобы оно не столько работало под железом которое уже 20 лет должно было гнить на свалке, сколько программировалось в духе того времени. В этом самом по себе ничего плохого нет - под одеялом можешь заниматься любыми извращениями, проблема в другом - ты несёшь это сюда, где это никому не интересно. Не неси.

Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг: