LINUX.ORG.RU

Linux API

 , , , ,


2

3

Можно ли отнести библиотеку Gtk+ к использованию API системы Linux?
Преподаватель дал задания по API ОС. Все пишут на WinAPI. Я выбрал Linux. Какую библиотеку посоветуете использовать/изучать?
Спасибо за ответы!

Дополню: Работа с GUI и файлами. Далее пойдут работы по процессам, а также программно узнать: что за версия ОС, имя пользователя, объём внешней/внутренней памяти и т.д.



Последнее исправление: TRomario (всего исправлений: 1)

Ответ на: комментарий от Eddy_Em

то хотя бы глянь на размер

Режется, но всё равно большой, да. Хотя с гтк я не сравнивал, не знаю сколько там.

На тормоза

УМВР.

Не нужна кроссплатформенность.

Нужен, блджад, работающий стандарт. Потому что всякие позиксы и лсб есть, а стандарта на гуй нету. А что такое стандарт? Стандарт - это то, чем все пользуются. А как сделать так, чтобы все пользовались? Надо убедить. А как убедить? Вот тут и кроссплатформенность и ненужный хлам внезапно нужны.

anonymous
()
Ответ на: комментарий от anonymous

а стандарта на гуй нету

Потому что нафиг этот гуй никому не вплющился! Каждый делает так, как ему больше нравится. И это хорошо.

Стандарт нужен на важные вещи.

А как сделать так, чтобы все пользовались?

Методом сволочей из красношапки: никого не спрашивая заменить, удалить возможность отката — вуаля! И люди собирают деньги на киллера для поца...

Eddy_Em ☆☆☆☆☆
()

Я выбрал Linux

если только Linux, то на kernel.org

если GNU+Linux, то начиная проектом GNU, продолжая проектами nongnu.org, freedesktop.org(в том числе Gtk, GNOME), sf.net и ещё очень многими.

anonymous
()
Ответ на: комментарий от Eddy_Em

Каждый делает так, как ему больше нравится. И это хорошо. Проприетарщики одобряют.

Стандарт нужен на важные вещи.

Шло третье тысячелетие. Жизнь без гуя была немыслима. Даже Эдику приходилось пользоваться гуёвым браузером, чтобы заходить на лор. Но он всё равно считал стандарт на гуй нинужным.

anonymous
()
Ответ на: комментарий от user_id_68054

Да я-то с тобой согласен. Тоже считаю кросс-платформенность красивой сказкой, в которую до поры, до времени можно верить и красиво в ней жить. Однако чуть что, приходится разбираться. «Абстракции всегда текут».

+ в плане интерфейсов пользователя, кросс-платформенность даже вредна. Поскольку интерфейс, который одинаков во всех системах - либо не учитывает особенности ни одной из система, либо заточен все-равно лишь под одну из них. А значит, будет выбиваться из общего интерфейса, принятого в данной системе, будет отличаться от интерфейсов других программ. И значит, не-кросс пользователям, которые завсегдатаи какой-то одной из систем, будет неудобно общаться с продуктом.

Но. Как всегда, маленькое но. Рынок. Он диктует корпорациям быстрее делать продукт. Иногда и тяп, ляп. И кросс-библиотеки для этого тяп-ляп подходят весьма кстати.

hibou ★★★★★
()
Ответ на: комментарий от anonymous

Если бы вернуть GTK3 вид как у GTK2, да хорошенько причесать (выкинуть оттуда glib, свести к минимуму "объектную ориентированность", выкинуть ненужный код — в общем, оставить лишь то, что касается GUI), то вполне получился бы хороший кандидат для стандарта.

Но в таком виде как сейчас, это ужас же! Motif бы кто допилил до стандарта что ли?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

сволочей из красношапки: никого не спрашивая заменить, удалить возможность отката

На твоём месте я бы потребовал refund. Запретили ставить старый софт, какие подлецы!

«In open source, no one can hear you scream.»

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

Но в таком виде как сейчас, это ужас же! Motif бы кто допилил до стандарта что ли?

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

Я не уверен, осознаёшь ли ты вообще всю трагедию отсутствия годного стандарта на гуй. В интернетах таки всё чаще и чаще появляется совет ради кроссплатформенности писать веб-приложения. Потому что html таки стандарт и везде работает.

Эдик, ты любишь веб-приложения?

anonymous
()
Ответ на: комментарий от anonymous

Мне кажется, стандарт в сегодняшнем положении в линуксе невозможен. Да и переоцениваешь ты его нужность. Что сделает этот стандарт? Да ничего. Все-равно все забьют на него.

Стандарт по сути уже сложился, де-факто. Хочешь линуксовости - пиши с агломерацией GTK. Хочешь кросс-платформенности - пиши с Qt.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Кстати, да, хочется заметить, что KDE вообще идет лесом стоит особняком. Это даже не Qt уже. Это скорее kde-libs. Специфичная штука, нужная только ограниченному кругу людей.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Стандарт по сути уже сложился, де-факто. Хочешь линуксовости - пиши с агломерацией GTK. Хочешь кросс-платформенности - пиши с Qt.

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

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

anonymous
()
Ответ на: комментарий от anonymous

Потому что html таки стандарт и везде работает.

Нигде он как гуй нормально не работает. Просто сейчас очень много дешёвых веб-макак и мало вменяемых кодеров которые могут писать в нативе даже за $. А трешак для обезьянок по другую строну стола хочется клепать быстро и дёшево. «Стандартизация» к росту популярности html/js никакого отношения не имеет.

mashina ★★★★★
()
Ответ на: комментарий от mashina

Нигде он как гуй нормально не работает.

Ты мне сейчас каким макаром это написал? Не в гуе, не? А про нормально никто и не говорил.

Просто сейчас очень много дешёвых веб-макак и мало вменяемых кодеров которые могут писать в нативе даже за $. А трешак для обезьянок по другую строну стола хочется клепать быстро и дёшево. «Стандартизация» к росту популярности html/js никакого отношения не имеет.

Не смеши мои подштанники.

Давай по пунктам. Веб-макаки и вменяемые кодеры? Ты всерьёз считаешь, что чтобы нарисовать пару прямоугольников в нативе надо быть семи пядей во лбу?

Сейчас много веб-макак, потому что на веб-макак есть спрос. А спрос есть, потому что есть работающий www с огромной аудиторией, которая таки приносит баблосы. А работающий он только за счёт того, что есть стандарт. Не было бы стандарта - была бы куча проприетарных сеток. Большая часть аудитории нынешнего www об этих сетках бы слыхом не слыхивала, а остальные были бы по ним разбиты. Баблосов бы на этом делать не получилось и спроса бы на веб-макак не было. А на нативщину таки спрос бы опять увеличился.

anonymous
()
Ответ на: комментарий от anonymous

Ну насчет «работает» я писал выше. Частично, это проблема кросс-платформенности.

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

Насчет «рисуются». Ты имеешь ввиду значки на кнопках другие? Потому что Qt отлично подхватывает тему оформления GTK+. И рисуются они технически одинаково, Х-сервером, а точнее наверное все-равно их вызовы транформируются в вызовы xlib. Только очень малая часть окон рисуется прям картинкой.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Насчет «рисуются». Ты имеешь ввиду значки на кнопках другие? Потому что Qt отлично подхватывает тему оформления GTK+. И рисуются они технически одинаково, Х-сервером, а точнее наверное все-равно их вызовы транформируются в вызовы xlib. Только очень малая часть окон рисуется прям картинкой.

Qt пытается подхватывать тему gtk в гномах. Кеды как-то заставляют gtk выглядеть как qt. Получается не всегда. Файловые диалоги и прочий обвес у всех всё равно разные. Это костыли и геморрой и полярный лис. А какая от этого польза? Никакой.

Я могу скрипя на сердце признать необходимость разных ДЕ для разных пользователей. Но что, кроме удовлетворения разработчиков от собственной важности, мешает делать их на одном тулките?

anonymous
()
Ответ на: комментарий от anonymous

Ясно, я тебя понял. С файловыми диалогами реально беда. Так сложилось исторически.

Наверное, когда-нибудь будет решена, если признают серьезной проблемой. Уже есть поползновения некоторых программ использовать диалоги в зависимости от среды. Например, знаю, что так умеет LibreOffice. Firefox вроде тоже умеет, не помню точно.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Например, знаю, что так умеет LibreOffice

Только для qt его постоянно ломают.

Firefox вроде тоже умеет, не помню точно.

Эти патчи тянет сопровождающий в openSUSE, они не в апстриме.

dinn ★★★★★
()
Ответ на: комментарий от hibou

вызовы транформируются в вызовы xlib. Только очень малая часть окон рисуется прям картинкой.

KDE уже не один год по умолчанию использует настройки, чтобы отдавало растр. Оно так быстрее.

dinn ★★★★★
()
Ответ на: комментарий от gavlig

Это лоровцы не совсем понимают, чем ядро отличается от ОС.

Goury ★★★★★
()

Пили на HTML, в качестве ос используй лису.

Goury ★★★★★
()
Ответ на: комментарий от Goury

Каким боком здесь ведро? И ослу понятно, что нужно быть последним кретином, чтобы в ядро внести поддержку GUI!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Таким боком, что хватит называть ядро осью.
От этого «всем и так понятно» школьники дезинформированные вырастают.

Goury ★★★★★
()
Ответ на: комментарий от Goury

есть ОС GNU и ядро Linux.

Лолчто? Ось без ядра? Ты сделал мой день.

Из GNU такая же ось, как и из линуха.

anonymous
()

пиши на чем угодно, всю кашу можно назвать линукс апи в той или иной мере.

Можно ли отнести библиотеку Gtk+ к использованию API системы Linux?

это как назвать MFC или VCL - WinApi...

jo_b1ack ★★★★★
()
Ответ на: комментарий от hibou

В ioctl, если мне память не изменяет, лишь 2 числа определяют устройство

Она тебе изменяет. В ioctl, вообще-то, сдается файловый дескриптор и аргументы. А в ядре в struct file_operations { ...} внутрь ioctl отдается struct file { ... }, где что хочешь и как хочешь - так и делай.

no-dashi ★★★★★
()
Ответ на: комментарий от Eddy_Em

Если бы вернуть GTK3 вид как у GTK2, да хорошенько причесать (выкинуть оттуда glib

Вместе с всеми g_list? И изобретать их заново, да? С учетом того, что в glib на самом деле реализованы базовые алгоритмы и структуры данных, звучит как минимум странно. Вот то, что gobject там как-то адски перегружен, это есть - но тут скорее играют роль всякие gobject introspection и т.д.

Сам по себе gtk не так уж и сложен, просто на нем муторно писать, типа gtk_view_add(parent, child) вместо привычного parent->add(child) и т.д., ну и расширять своими виджетами опять же муторно.

no-dashi ★★★★★
()
Ответ на: комментарий от Eddy_Em

выкинуть оттуда glib

свести к минимуму «объектную ориентированность»

оставить лишь то, что касается GUI

Надо же, в одном посте дважды поделил на ноль

Midael ★★★★★
()
Ответ на: комментарий от anonymous

Внезапно, но GNU прекрасно работает и без линуха.
И с BSD ведром и с QNX в качестве ядра и даже вместе с вантузом.
А вот линух кроме того как быть ядром ничего и не умеет.

Goury ★★★★★
()

Преподаватель дал задания по API ОС.

Бегом бы надо от такого припадователя. Если именно так задание сформулировано.

Возьми какие-нибудь примеры с glib и сдери с них. Будет самое оно. Всё остальное тоже с полпинка делается.

anonymous
()
Ответ на: комментарий от Eddy_Em

выкинуть оттуда glib

А чо может на машинных кодах забубенить? Ты проспись штоле.

anonymous
()
Ответ на: комментарий от Goury

Внезапно, но GNU прекрасно работает и без линуха.

Внезапно, но линух прекрасно работает и без GNU. И он, опять таки внезапно, гораздо популярнее, чем GNU без линуха.

А вот линух кроме того как быть ядром ничего и не умеет.

И чо? GNU от этого внезапно превращается в ось?

anonymous
()
Ответ на: комментарий от Eddy_Em

выкинуть оттуда glib, свести к минимуму «объектную ориентированность»

чувствуется матерый профессионал :D

я бы хотел увидеть гуи-тулкит без ООП.

waker ★★★★★
()
Ответ на: комментарий от Goury

Покажи мне пяток популярных примеров работы линуха без гну или трепло.

Андроида с тебя хватит. Оспорь, что это линух без гну или трепло.

anonymous
()
Ответ на: комментарий от Goury

андройд один единственный.

Я ни разу не говорил, что их много. Я говорил:

Внезапно, но линух прекрасно работает и без GNU. И он, опять таки внезапно, гораздо популярнее, чем GNU без линуха.

Оспаривать будешь, не?

И ядром линух в ведре быть не перестаёт.

Я разве с этим спорил?

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

Кто из нас трепло? То-то же. Если не собираешься подтверждать свои слова, то можешь быть свободен.

anonymous
()
Ответ на: комментарий от TRomario

Ну а ты какого лысого выпендриваешься? Делай, как все, не пудри мозги преподавателю.

anonymous
()
Ответ на: комментарий от Eddy_Em

Эдик, посмотри на clutter, может она тебе приглянется. По сути обертка над OpenGL

EugeneBas ★★
()
Ответ на: комментарий от hibou

Дело в том, что в новых драйверах ioctl не рекомендован.

А что там нынче модно? netlink?

Dark_SavanT ★★★★★
()

бери тоже винапи, а то будешь троешником из-за недалёкого учителишки

dr-yay ★★
()
Ответ на: комментарий от anonymous

Libstdc++ идет с любым андроидом. Следующий!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.