LINUX.ORG.RU

Linux API

 , , , ,


2

3

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

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



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

Странно, уж третья страница, а никто до сих пор не упомянул Tk. Лучше аналога WinAPI и не сыщешь, пожалуй: XLib дико низкоуровневый, Motif от него недалеко ушёл, FLTK примитивный и страшный, EFL пока сырой и чужеродный. GTK+/Qt вообще из другой оперы — высокоуровневые и тормознутые, даже WinAPI под Wine работает в разы шустрее. Кстати, ТС, а почему бы тебе не писать на WinAPI? CLI-версия VC++ (2005-го года, но не суть важно, ибо WinAPI не менялось) распространяется бесплатно — качай да пользуйся себе из любимого редактора. Под Wine и отлаживать удобно — при падении программы можно сразу посмотреть стектрейс. Советую всё-таки не создавать проблем на свою голову, т. к. преподаватель в случае проблем ничем помочь не сможет.

Кстати, если уж говорить об о стандартности, то официальным графическим тулкитом проекта GNU является GTK+.

MiniRoboDancer ★☆
()
Последнее исправление: MiniRoboDancer (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ты не шлангуй, а решай поставленную задачу. В ОС Windows графический тулкит (который, кстати, никто не заставляет пользовать) является неотъемлемой частью. Именно операционной системы, да. Кто ж виноват, что в юнихах кроме тухлого позикса никаких общепринятых стандартов нет?

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

GNU == GNU/Hurd. Linux — поделка прыщестудента, временная замена неготовому Hurd, с молчаливого согласия Столлмана ставшая постоянной.

MiniRoboDancer ★☆
()

системы Linux
системы

/0
система POSIX тогда уж
И библиотеку libc, но найди такую, что бы под Linux работала или собирай программу статично
Самая популярная Libc - Glibc

ubuntuawp ★★
()

Препод вообще такие лабы примет? Я сомневаюсь, что он в этом что-то понимает. Соответственно не сможет указать на ошибки или подсказать как сделать лучше. Проще поставить винду на виртуалку и кодить на WinAPI.
А если по делу, то GTK это графические либы. Погугли системное программирование в Linux. Даже книжку видел;-) ИМХО там ты найдешь ответы на интересующие тебя вопросы. А вообще, API linux сообветствует стандарту POSIX (по крайней мере совместим).

Ignatov ★★★
()
Последнее исправление: Ignatov (всего исправлений: 2)

PS Случайно не в дельфи кодите? Там из кода сделать эти вещи нефиг делать! Только гуглить уметь нужно;-)

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

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

Это кто такую чушь ляпнул? Что не Вы - я заметил;-) Работь то оно работает! Но зараза в каждом браузере выгядит по разному;-) Если разбавить CSS - не стоит забывать про IE. МУльтимедиа в HTML5 - читаем поддерживаемые форматы каждого браузера... зоопарк форматов нехилый держать придётся. Загрузить свои шрифты? Также зоопарк форматов. Не хилая такая стандартизация!!!

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

Но зараза в каждом браузере выгядит по разному;-)

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

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

API Linux-систем - сисколлы ядра, и гуев там нет.

Ещё один умный. Про позикс и лсб почитай уже.

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

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

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

А зачем в эту тему влез, если в ней ни фейхоа не понимаешь?

Обоснуй.

Дурак чтоле? Это я у тебя обоснование спрашиваю, зачем ты сюда влез.

anonymous
()

Ну тут как сказать.

Можно, сославшись на Linux Standards Base Desktop сказать что да, X, GTK+ и Qt являются стандартными интерфейсами ОС GNU/Linux (на десктопе). Однако далеко не все дистрибутивы имеют намерение соответствовать LSB.

Преподаватель может, впрочем, начать шланговать и упрямиться, что Linux — это только ядро, и API у него — это syscall'ы ядра, но это уже проблема определени. Линус Торвальдс не виноват, что система Windows содержит всё в одном флаконе, тогда как под Линуксом оно в разных.

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

Так ты обоснуешь, или будешь пердеть в лужу?

Видимо дурак. Нет, я не обосную, зачем ты сюда влез.

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

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

Расскажи дальнобойщику, что спорт-кар лучше. А я посмеюсь

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

Расскажи дальнобойщику, что спорт-кар лучше. А я посмеюсь

Ты тред точно сначала прочитал? А то ты какие-то взаимоисключающие комментарии пишешь.

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

Прочитал! Просто не пойму как сранивать голый HTML и GTK. Или веб-софт и софт на GTK. Задачи разные! А то, что теги чистого html по-разному отображаются в разных браузерах «веб-макаки» и без меня знают. И не мной придуманы обходы на случай «а вдруг у юзера IE».

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

Просто не пойму как сранивать голый HTML и GTK. Или веб-софт и софт на GTK. Задачи разные!

Давным-давно задача у хтмл и гтк одна - показывать информацию.

Внезапно ещё майкрософт делал свои hta на венде. Сейчас его славное дело продолжают апачекордовы и эппджиэсы. Даже марк предлагает писать приложения под убунту на хтмл на равне с кутями. Гитхаб вон нового убийцу емакса на хтмл написал. Фаерфоксоось хочет на мобилки.

С другой стороны всяких веб-офисов и веб-иде повылазило как грибов после дождя.

Бери и сравнивай до посинения. Не понимаешь - гугли и разбирайся.

anonymous
()

API как такового нет. Если тебе охота по-быстрому, пиши на Qt, она тоже распространена, но не API. Если только с API - стандарт POSIX в зубы.

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

Не спорю! Там и там внешне морды. Только эти морды прикрывают несколько разное. Это как сравнивать ЯП. Только не каждый ЯП подходит под конктретную задачу. Такими темпами скоро на всех компах будут стоять ОС от браузеродевелоперов, а вся инфа и частные фото будут храниться в облачных хранилищах. Это реально «Конец света - нет интернета».
Про убунтофон с веб-софтов слышал, и про веб-оффис от гугла тоже. Суть веб-оффисов вообще не понимаю. Нахрена я должен отдавать ресурсы компа браузеру, если мне нужен оффис?! А может еще рутовые конфиги править с помощью веб софта?! Нет уж! Нахрен надо!!! Другое дело, если нужно сделать какой то заказ онлайн - тут бесспорно нужна веб-морда, а не ставить локальный софт.
P.S. Не стоит забывать, что «только сисадмин всегда получает зарплату только наличными!» Он может получить доступ ко всей инфе, что хранится на управляемом им сервере;-)

Ignatov ★★★
()
Последнее исправление: Ignatov (всего исправлений: 1)
Ответ на: комментарий от anonymous

И вы уж извините, но к вашему сведению на HTML ни блокнот ни оффис не построишь;-) HTML отвечает только за вывод инфы в ваш браузер. Операции на стороне сервера (в том числе управление вводом-выводом) выполняются с помошью PHP/Python или что-то в этом роде, а на стороне клиента за ввод и красивый вывод отвечает дырявый JS. Ну и широко известный корявый Flash Player, который иногда работет со стабильностью оффтоп'98. А относительно HTML? Задолбали странички в разной цветовой гамме. Глаза охреневают при переходе ночью с «тёмной» странички на «светлую».
По другую сторону как минимум единый стиль и единая тема! Qt/GTK также связка поправима! Да! Python! Да mono! Но под капотом можно решать более серьёзные задачи;-) И всё моё у меня «дома» и за пределы локалки не просится пока я не попрошу;-) У меня в локалке то Wlan с локальным Eth напрямую не пересекаются.

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

Я не пойму, это ты меня убедить пытаешься, что хтмл куда-то не подходит? Меня не надо убеждать, убеди людей, которые на нём всё делают.

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

Никого не волнует твоя ОС ШИНДОШС

А препода ТС не волнует убогость API каких-то левых систем. В винде функции для работы с виджетами предоставляются наряду с функциями для работы с процессами, файловым I/O и т. п., в отличие от всяких убогих позикс-систем.

API Linux-систем - сисколлы ядра, и гуев там нет

И что ты предлагаешь? Рисовать акошычги руками в режиме VGA? ТС нужен аналог WinAPI, а поскольку его нет, то следует заменять, а не выкидывать и страдать с гордым кукареканьем.

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

Linux тоже не готов, просто степень готовности у них различается уже на порядки.

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

Аналог шинапи в плане гуев - XLib.

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

Я думал это ты мне убедить хочешь, что веб-морды лучше;-) Только проскакивала инфа, что даже на хостингах самопальные движки копают;-)

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

Получается, если я буду использовать библиотеку GTK+/QT по стандарту LSB или POSIX, то мой код можно будет отнести к использованию API ОС GNU/Linux ?

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

по стандарту LSB или POSIX

В стандарт POSIX не входит ни библиотека GTK+, ни Qt. В LSB Desktop — входит.

мой код можно будет отнести к использованию API ОС GNU/Linux

Я понимаю, что тебе очень хочется получить прямой и чёткий ответ на твой вопрос, но ответ этот такой, какой есть. Интерфейсы GTK+ и Qt входят в Linux Standards Base, но только в часть «Desktop». А уж можно ли это считать API ОС GNU/Linux или нельзя, это вопрос уже философский. В практическом смысле нельзя рассчитывать, что на всякой машине, где стоит GNU/Linux, будет GTK+ или Qt.

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

Спасибо тебе и всем, кто принял участие в этой теме! Обговорю всё с преподавателем, чтобы решить куда двигаться.

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

Я думал это ты мне убедить хочешь, что веб-морды лучше;-)

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

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

дык GTK особо на звание годного кросплатформенного гуя и не претендовало;-) QT же эту нишу перекрыть пытается.
А теперь вопрос на засыпку;-) У Вас сколько знакомых линуксоидов? Маководов? В ВУЗах про QT/GTK обычно не говорят. На PHP и JS сдают лабы. А кодят обычно на том, на чем умеют. А не на том, о чём вообще не слышали

Ignatov ★★★
()

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

Нет.

В качестве API прокатят POSIX и X11. Только прежде чем код и слова писать, согласуй с преподавателем, что будешь это использовать, как тут тебе советовали.

hobbit ★★★★★
()
6 октября 2015 г.
Ответ на: комментарий от Goury

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

Берется Linux + uclibc или musl + busybox, получается полноценная ОС безо всякого гнутого шлака

annulen ★★★★★
()

Все пишут на WinAPI. Я выбрал Linux. Какую библиотеку посоветуете использовать/изучать?

Winelib

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

Вот и пользуйся этой своей полноценной ОС, нам и без тебя хорошо.

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