dlinyj: (Default)
[personal profile] dlinyj
Я таки решил изучать Си серьёзно (ну по совместительству с++, хотя пока не делаю на него упор). По совету [livejournal.com profile] cluster_d прикупил две книжечки


Не ржать, я чайник


Моя цель изучить си и писать на нём под линукс, компилировать программы и драйвера. В общем разобратся в синтаксисе. Немного почитав книжечку для чайников, я понял что примеры в книге не компилятся в линухе. В результате, под чутким руководством [livejournal.com profile] vshmuk я написал свою первую программу Хелоу Ворд. Что приятно, уважаемый товарищ описал процесс обучения в своём автономном блоге, который (о ЧУДО!) транслируется теперь в ЖЖ: http://geotechnoblog.livejournal.com/ рекомендую! Я искренне надеюсь, что многоуважаемый [livejournal.com profile] vshmuk и [livejournal.com profile] cluster_d (которыый показал уже пример арифметических выражений), не сочтут за труд отвечать на глупые вопросы. Так же сегодня попробовал тупо скомпилить для AVR (!) программу [livejournal.com profile] cluster_d. Одна скомпилировалась вполне успешно (мигание светодиодом), вторая заругалась, и отказалась компилится (не разбирался). Сцал кипятком. Теперь хочу понять как компилировать софт для роутера, на КОМПЕ! Пока задача минимум вкурить в синтаксис си, поигратся с примитивными программами (матрицы всякие, циклы и т.п.). Понять особенности си под линь, и начать шпарить.
Вторая задача, это найти исходники (ага, даже не знаю с чего начать) драейвера USB клавиатуры под линукс, и скомпилировать её под роутер (Вы что, наивно полагаете, что после отпуска я остыл к этой железяке?). И написать другой драйвер, для управления дисплеем. Ну и может скомпилировать драйвер FT232. В общем вкурить во все тонкости. Пока особо интересует работа с железом под линуксом на си.

Написал сумбурно, эмоционально, но надеюсь для тех кто в теме понятно.
З.Ы. [livejournal.com profile] gorl я помню твоё обещание ;). Но пока немного сам вкурю.

Date: 2009-06-19 10:17 pm (UTC)
From: [identity profile] foxweb.livejournal.com
О, у меня есть Линукс программирование в примерах :)

Date: 2009-06-20 05:58 am (UTC)
From: [identity profile] funny-undead.livejournal.com
Да... под линь что-нибудь и мне не плохо научиться писать. Как только с институтским разгребусь стоит задуматься серьезней.

Date: 2009-06-20 06:13 am (UTC)
From: [identity profile] robby-roboter.livejournal.com
Use the force, Luke!!!

Date: 2009-06-20 09:48 am (UTC)
From: [identity profile] lockdog-88.livejournal.com
По С я купил вот такую книгу: Стефан Кочан "Программирование на языке С".
Отличная книжка, всё последовательно и доступно описано.=) Всем советую)

Date: 2009-06-20 09:50 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Просто надо писать под операционные системы будущего. Я считаю что в линуксе будущее. Уже можно сбрить бороду и сидеть в линухе даже простому юзверю. Правда без консоли там всё же напряжно, но все описания есть на русском вполне себе доступно.

Date: 2009-06-20 09:51 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Прикуплю. Но синтаксически си чуток отличается виндовый от линуксового. Хотя база одна и та же.

Date: 2009-06-20 09:51 am (UTC)
From: [identity profile] dlinyj.livejournal.com
И как? Помогло? Я пока её даже боюсь открывать :)

Date: 2009-06-20 09:55 am (UTC)
From: [identity profile] foxweb.livejournal.com
Ну, в общем я тоже не особо вчитывался, но интересные базовые вещи расписаны, как кодить именно в условиях Linux.

Date: 2009-06-20 09:57 am (UTC)
From: [identity profile] gorl.livejournal.com
для твоих целей одного синтаксиса си не хватит

Date: 2009-06-20 10:10 am (UTC)
From: [identity profile] lockdog-88.livejournal.com
А кто говорит про виндовый синтаксис?) У меня эта книжка на примерах gcc.

Date: 2009-06-20 10:12 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Я догадываюсь. Но без синтаксиса, согласись - далеко не уедешь. Ну и потом я же программировал на других языках, и это получается, что не с нуля изучаю. Да и у меня был опыт написания программы на си для авр микроконтроллера. Правда 6 лет назад.

Date: 2009-06-20 10:26 am (UTC)
From: [identity profile] funny-undead.livejournal.com
Да, я именно из безбородых юзверей)

Date: 2009-06-20 10:28 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Ага
/me пошёл искать книжку...

Date: 2009-06-20 01:54 pm (UTC)
From: [identity profile] leoniv.livejournal.com
Если нужны будут исходники на Си для AVR, обращайтесь, много всего разного приходилось делать.

Date: 2009-06-20 07:49 pm (UTC)
From: [identity profile] rufous-spb.livejournal.com
Ты хотел сказать мелкосовтовская реализация Си отличается от стандарта? =)

Date: 2009-06-20 08:18 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
благодарствую. пока ничего не ваяю, но как что понадобится - обращусь

Date: 2009-06-21 03:50 pm (UTC)
From: [identity profile] blackraven77.livejournal.com
По C/C++ имхо полезны книги Герберта Шилдта. И Артур Гриффитс "Руководство по GCC". Ещё Стивен Прата "Программирование на С. Лекции и упражнения" имхо полезен, но в имеющемся у меня издании 2002г. переводчики много накосячили.

Date: 2009-06-21 04:00 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
А полным нубам, никогда не кодимшим на си?

Date: 2009-06-21 05:50 pm (UTC)
From: [identity profile] shnur0vka.livejournal.com
Я тоже полным нубом, никогда не кодивши на Си...

Сейчас из книг:
1 - Шилдт - классика всех времен и народов
2 - есть куча всего под линукс, но примеры там, чаще всего, не впечатляют, если вообще компилятся

из полезного:
manpages-posix-dev - manpage'sы для сишных функций.
http://www.cppreference.com/wiki/ - полезные ништяки С++
на opennet.ru можно найти множество полезного, начиная от администрирования, заканчивая кодингом

Все из этого как для нубов, так и для более профи. Мне лично помогло - отчасти разобраться с курсовой, и сдать экзамен. Ну и сейчас продолжаю изучение. (правда пока С, я все-таки, поэтапно, ООП чуть позже)

Date: 2009-06-21 05:55 pm (UTC)
From: [identity profile] cluster-d.livejournal.com
Use the source, Luke!

Date: 2009-06-21 06:14 pm (UTC)
From: [identity profile] blackraven77.livejournal.com
Прата - более обучающий, с него можно начать; Шилдт - более справочный. Оба описывают стандартный C.
А вот про особенности компиляции, Makefile-ы и т.п. прикладные стороны в книгах по C/C++ уделяют слишком мало внимания и поэтому примеры не везде компиляются; тут справочник по компилятору желателен.

Date: 2009-06-21 06:26 pm (UTC)
From: [identity profile] xregos.livejournal.com
А где книженций - то взял?

Date: 2009-06-21 08:38 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
где обычно - в книжном

Date: 2009-06-25 11:36 pm (UTC)
From: [identity profile] arush-damage.livejournal.com
Ты бы все таки определился С или С++.
Между ними разница примерно как между обратной польской записью МК и фортом.

С - портабельный асм. Компилятор пишется на коленке за пару недель.
С++ - ООЯ имеющий режим совместимости с С. Типа как С имеет режим полной совместимости с асм - _asm{} :)

Если хочешь С изучать - рекомендую читать в первоисточнике - Керниган и Ритчи Язык С. В нете найти не проблема.
Там по факту не так много всего - от асма отличается тчуть большим уровнем абстракции (вместо loop пишем for(...) и надеемся что компилятор оптимизирует :) и поддержкой компилятором проверки типов.
А так С позволяет делать что хочешь :)

ЗЫ. Если что - обращайся, я ща как раз на С проект веду. Одной дефолтной фирмы :)

Date: 2009-06-26 09:03 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Си нужнее, чем си++. Хотя конечно в дальнейшем неплохо будет изучить и более абстрактный язык. По сему учу его. А книжку для чайников уже выбросил - редкое гомно.

Date: 2009-06-30 08:34 pm (UTC)
From: [identity profile] muslenok.livejournal.com
А у меня есть такая книженция для чайников!!! Мы ее за Ленинградским вокзалом в контейнерах у букенистов за сущие копейки надыбали!!!

Date: 2009-08-29 04:36 pm (UTC)
From: [identity profile] holybrake.livejournal.com
если только заголовки и нестандартные расширения, а так то же самое.
когда пишешь консольную программу на стандартном С/C++ без использования win32 api, atl, mfc- отличий быть не должно, хотя нет вру - VC местами не соответствует стандарту С++ особенно старичок 6 версии.
Правда еще gcc поддерживает полностью C99 и частично С++0x

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 23rd, 2026 03:51 am
Powered by Dreamwidth Studios