Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   программирование под иксы (http://forum.oszone.net/showthread.php?t=236494)

Alexey_Sheludchenko@fb 12-06-2012 12:09 1932804

программирование под иксы
 
решил начать учить си под линукс, все говорят мол начинай программировать пол GTK или QT , а типа чистый си ничего не даст мол под GTK или QT почти так же как и с winAPI это правда?
и можно ли обойтись чистым си без всяких либ?
например гидра компилится у всех, и не требует ничего дополнительного !!!

CJ F.A.N. 12-06-2012 12:13 1932807

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

PhilB 12-06-2012 17:38 1932988

Если речь идет о графическом пользовательском интерфейсе, то можно и использовать напрямую функции иксов. Документация есть, так что, если есть желание с этим можно поразбираться.
Цитата:

Цитата Alexey_Sheludchenko@fb
и можно ли обойтись чистым си без всяких либ? »

Не очень понятно, о каких либах речь? В любом случае нужны либы иксов. Что касается gtk/Qt, то пользователь чаще всего используют какие-либо оболочки. Если используется gnome - то gtk библиотеки уже есть. Если kde - то Qt.
На самом деле, на мой взгляд, в линуксе об этом вообще думать не надо - эти библиотеках есть в репозитариях обязательно. (В отличие от винды, там надо библиотеки распространять в дистрибутиве программы). Да и весят не так много.
По большому сечту, для большинства задач использование напрямую функций иксов особого смыла не имеет. Это излишнее исложнение и потеря кросплатформенности.
Также как и в винде, winApi - это жуть редкостная. Сплошной не unix-way. Даже мелкософт не рекомендует использовать winApi и уже давно городит всякие надстройки, начиная от MFC, заканчивая .Net.

Alexey_Sheludchenko@fb 14-06-2012 14:07 1934081

я имею в виду если мне надо открыть привод для этого есть стандартная или у gtk своя у qt своя

vadblm 14-06-2012 14:47 1934099

Цитата:

Цитата Alexey_Sheludchenko@fb
открыть привод »

Команда eject. Показать её исходник или сами найдёте? Всё написано до нас. :)

PhilB 14-06-2012 15:28 1934129

Цитата:

Цитата Alexey_Sheludchenko@fb
или у gtk своя у qt своя »

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

Alexey_Sheludchenko@fb 15-06-2012 16:38 1934820

Цитата:

Цитата vadblm
Команда eject. »

если уж на то пошло скажите и как закрыть с консоли!

PhilB 15-06-2012 18:54 1934888

Код:

eject -t

Alexey_Sheludchenko@fb 15-06-2012 22:57 1934995

cпасибо!
вообще я начал эту тему потому ,что мне непонятно можно ли обойтись функциями ядра я ведь не собираюсь программировать графику , а только консоль


Время: 21:16.

Время: 21:16.
© OSzone.net 2001-