LINUX.ORG.RU

Прошу общего совета по программированию под Линукс


0

0

Ситуация: Я до зимы должен запрограммировать на С++ usb-микроскоп, ведущий себя почти как веб-камера на автоматическую работу с препаратами. Все есть, даже нашел сорсы одной удобной проги для вебкамер, но есть ПРОБЛЕММЫ:

- Подскажите, где можно RTFM про основы программирования, потому что я привык писать в Turbo C под ДОС ну и под шестой Дыбилдер, под винду. И я не понимаю, то-ли нужно сорсы для редактировани открыть в каком-то IDE - но Anjuta не открыла... То-ли еще чего... Вобщем мне нужно четко понять как это все работает, а не только знать куда клацать..

- Ну, и посоветуйте пожалуйста удобные IDE для С++ (может Анюта - фигня). Все намерен делать точно под Gnome, либо под Убунту, либо под Дебиан.

Спасибо за внимание.

ЗЫ: пожалуйста, не нужно шуток типа " Учи Emacs животное!!".

>Подскажите, где можно RTFM про основы программирования...

Основы программирования чего? С++? Линукс?

>Ну, и посоветуйте пожалуйста удобные IDE...


Тысячи их, посмотри Eclipse+CDT, например.

tzukko
()

Лично я в качестве IDE для C++ использую NetBeans (http://www.netbeans.org/) и очень доволен. Также довольно интересная и на первый взгляд удовная весч это CodeLite (http://codelite.org/).

pa23
()

> ЗЫ: пожалуйста, не нужно шуток типа " Учи Emacs животное!!".

>Раздел Число сообщений (тем)

>Форум 1

>Комментарии 0


Такая вот у ЛОРа репутация.

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

>Основы программирования чего? С++? Линукс?

1) У меня неполное представление о том, что такое библиотека, компилятор. Потому что-то общее, не специализированое, а чтобы давало системное представление. 2) Мое неполное представление начало вылазить боком только под Линукс. Тоесть мне стоит почитать что-то про Линукс.

Ато Хэлоу, ворлд по мануалу вышло, а сопипаста консольной проги с Турбо Си - ругалась матом, и решительно нехотела компилиться.

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

По программированию под Юникс стоит почитать Стивенса - оно есть и на русском. А там дальше уже смотреть, какие части линукса у тебя потребуются - работа с ядром и т.п., и уже искать литературу по этим вопросам...

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

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

Спасибо.

>Я бы посоветовал отделить часть, которая работает с железом, от того, с чем будет работать пользователь.

Я правильно понял, что речь о демоне HAL?

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

Неправильно, речь идет об архитектуре того, что ты будешь писать. Уверен, что hal тебе не понадобится, тем более такие вещи как hal в linux'е меняются как перчатки, поэтому в не то что бы разбираться, а даже думать о них не надо.

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

Стивенс с нуля может быть слишком сложно, а вот "программирование под linux профессиональный подход" (оноже advanced linux programming) для новичка будет самое оно. Еще не забываем про книгу Робачевского.

Reset ★★★★★
()

> Подскажите, где можно RTFM про основы программирования

Не осилил ваш вопрос. Вы же пишете, что "я привык писать в Turbo C под ДОС ну и под шестой Дыбилдер, под винду".

> Ну, и посоветуйте пожалуйста удобные IDE для С++ (может Анюта - фигня).


Если IDE, то Code::Blocks. Но можете воспользоваться любым текстовым редактором.

Как понять "И я не понимаю, то-ли нужно сорсы для редактировани открыть в каком-то IDE - но Anjuta не открыла..."? Сорцы в каком то особо хитровыгнутом формате!?

> Все намерен делать точно под Gnome, либо под Убунту, либо под Дебиан.


Что то вы смешали в кучу DE и дистрибутивы.

andreyu ★★★★★
()

autotools
make
svn(может пригодиться)

бегло маны ld, gcc, ldd, strace, Programming from the Ground Up
возможно искусство программирования для Unix, но тоже бегло

поискать статьи где разбирается, как работает простейшая программа, т.е. main и всё
(http://www.linuxforums.org/articles/understanding-elf-using-readelf-and-objdu...)
и т.д.
undestanding linux что-то в гуголь - хорошая отправная точка

(возможно libusb)
(возможно v4l2 видео api)

найди какие-нибудь сорцы source_что-то.tar.gz
смотри как в них идёт сборка проекта

dimon555 ★★★★★
()

>Все намерен делать точно под Gnome, либо под Убунту, либо под Дебиан.

надо графический тулкит выбрать gtk+, qt, fltk, (curses ;) ) и т.д.
убунту, gnome не важно

dimon555 ★★★★★
()

Тебе ничего не поможет , поверь .
Тут основное понять ДУХ и подход - короче , не быть вантузоидом.
У некоторых это не получается - или не дано им, или уже мозги необратимо разьел MS.

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

>Тебе ничего не поможет , поверь .
Тут основное понять ДУХ и подход - короче , не быть вантузоидом.
У некоторых это не получается - или не дано им, или уже мозги необратимо разьел MS.

всё фигня, дорогу осилит идущий

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

В Linux нет дорог, есть только направления.

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

> autotools

от этого монстра надо знать заветную только комбинацию ./configure && make && make install

при наличии вменяемых альтернатив начинать новый проект на нем более чем странно.

А на первое время ничего кроме чистого make вообще не нужно, в K&R написано как пользоваться.

Reset ★★★★★
()

Сначала до Стивенса надо прочесть K&R.

IDE не надо поначалу, а лучше и потом не надо. Лучше vim, да и опрос на главной как бы говорит нам...

imp ★★
()

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

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

>Лучше заработай денег на стройке и закажи проект толковому разработчику.

даже просранный проект лучше, чем рутинная работа

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

Разумеется.
Но я подозреваю, что человеку для диплома нужно.
А рутинная работа на пару месяцев явно лучше просранного диплома.

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

> даже просранный проект лучше, чем рутинная работа

Вы путаете диарею с даром Божим .
зы: Да, а история создания Kde4 уже изрядно надоела.:)

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

> Тут основное понять ДУХ и подход - короче , не быть вантузоидом.
> У некоторых это не получается - или не дано им, или уже мозги необратимо разьел MS.


И в этом отлично поможет книга "Искусство программирования под UNIX" Эрика Реймонда. Весьма рекомендую, отличнейшая книга

val-amart ★★★★★
()

Можешь еще связаться с одним программистом из Казани, его зовут Адель Чепкунов. Найти его координаты можно на сайте http://fireforge.net/ (Адель написал программу определения пятен на изображениях).

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

there is more unix nature in a single line of shell code than in ten thousands lines of C code:)

dilmah ★★★★★
()

> Все намерен делать точно под Gnome, либо под Убунту, либо под Дебиан

Если так, то прямая дорога на Gnome Library, который можно найт по-этой ссылке http://library.gnome.org/devel/

Для понимания, как писать приложение прочитать первым делом документацию по G-object. Так как, рано или поздно прийдется выйти за пределы учебника Gtk+ . Из пирожка-библиотек первым делом читать: GLIB, PANGO, Gtk+2.0 - обращать на функции и Gtk-объекты, которые помечены, как запрещенные к использованию. Этот пирожок меняется и очень стремительно, так,например, запрещен к использованию GtkTable и куча публичных методов в других экземпляров объектов в Gtk+2.0.

> Ситуация: Я до зимы должен запрограммировать на С++ usb-микроскоп...

Если Вы ознакомитесь с всей документацией на Gnome Library, то Вы обязательно поймете, что C++ тут не нужен, достаточно знать С и G-object. Но все-равно вам решать в конечным итоге ;)))

>посоветуйте пожалуйста удобные IDE для С++ (может Анюта - фигня).

Тоже с этим столкнулся - приходится писать все руками. В этом свете рекомендую почитать про Automake, Autoсonf и все что с этим связано . Да, кажется материал по ним есть на LORе.

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

> Я предсказываю, что ты не успеешь до зимы это сделать с таким-то набором начальных знаний. Лучше заработай денег на стройке и закажи проект толковому разработчику.

Если начнет сейчас - успеет... Самое главное разбирать уже написанный чужой код :))) За 6-ть месяцев освоит, если конечно будет желание и старание... :)))

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

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

+1
это ж надо автору так попасть...
хотя если сразу будет знакомится с qt (хотя это не совсем гномик), то может что-то и получится (какая-нибудь жутко извращенная связка двух программ).

думаю, начинать надо хотя бы с того, чтобы посмотреть, нет ли уже чего-то (более) готового, потом взять лучшее, что найдешь, изучить тот язык и оболочки, в которых это "лучшее" написано, и "допилить напильником"

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

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

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

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

> при наличии вменяемых альтернатив начинать новый проект на нем более чем странно.

а какие другие варианты относятся к категории более вменяемых?

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

> автор темы обладает некоторым талантом. иначе тяжело будет.

как там в библии было: "художник от слова худо"

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

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


В каком объеме он поддерживает автотулсовский зоопарк?

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

> Ну рабочие проекты на нём выглядят не многим менее монструозно.

Если сравить по строчкам кода внутри CMakeLists.txt, то гораздо меньше.

> В каком объеме он поддерживает автотулсовский зоопарк?

Что под этим подразумевается?

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

> Что под этим подразумевается?

Способность корректно определить компилятор и линковщик в разном окружении - гну, бзд, солярис и т.п.
Есть ли там анаолги AC_CHECK_{HEADERS,LIB} ?

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

В отличие от автотулз оно может корректно определить компилятор и линковщик не только под unix'like.

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