Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование под Linux #2 (30.01.2002)


Служба Рассылок Subscribe.Ru

Здравствуйте дорогие подписчики рассылки "Программирование под Linux" !!!
 ....----==== http://linux.firststeps.ru/ ====----....

Начну с того, что отклик подписчиков составил не более 1%. За все время
пришло около 6-7 писем, в том числе от некоторых по несколько штук.
НУ ПЛОХО ЭТО...

Из всех тех полученных писем я сделал выводу, который я еще раньше обнародовал
в первой рассылке, а именно, что большинство не имеет никакого представления
о названных мною приблизительных темах для обсуждения и есть большое желание
узнать все это, причем с самого нуля. Давайте чуток разберем имеющиеся письма
и просним ситуацию:

Письмо от Мотина Степана (yoshi@????.ru)
=========================================
Так как я с линуксом работаю совсем недавно, все вышеперечисленные
тобой темы, кроме первой(Socket), мне не знакомы совсем. Я понятия не
имею, что такое Qt, GTK, ncurses, svgalib.

Вопрос: рассылка будет ориентирована на чисто прикладные(разработка
именно софта для конечного пользователя) или системные программы,
или на то и другое? Будем писать на каком-либо одном языке или на
разных (C, C++, Asm, Perl), в зависимости от конкретной задачи?

Вот темы, которые меня интересуют:
- Системное программирование;
- Программирование модулей ядра и драйверов устройств;
- Сетевое программирование (Socket'ы и т.д.);
- C API и Perl API для взаимодействия с MySQL.

>Не плохо бы подобрать "команду", которая стабильно обеспечивала
>людей новой порцией пищи для мозгов.
Можно об этом поподробнее, пожалуйста.

Всего хорошего!
====================

Ориентированность рассылки будет максимально широкой. Мы будем писать, что
угодно на чем угодно. НО я один не смогу обеспечить запросы всех, поэтому
встает вопрос о команде или проще сказать о "наиболее активных подписчиках".
Все из вас рано или поздно уйдут далеко за границы того материала, который
будет в рассылке. Поэтому приветствуется написание статей для рассылки,
посвященных вашим собственным успехам.

Отдельный момент надо отметить о "поставках" информации для рассылки.
Если Вы найдете прекрасный документ или книгу в электронном варианте
посвященную программированию под Linux (Unix) на любых языках (ASM,
C Shell, C++, Perl, Sed, Awk, PHP, Pascal, Lisp, Java и т.д.)
то присылайте ее мне и мы составим огромную и полезную библиотеку.

Про разработку драйверов мы тоже можем говорить, но только в том случае
если найдется конкретное устройство, под которое можно будет писать
драйвер, так как на словах слишком сложно понять глубину процесса.
Хотя я могу описать этот процесс в общих чертах и основных механизмах.
Все в основном строится на понимании взаимодествия ядра и модулей, а
также вводе и выводе данных на низком уровне.

API в MySQL не сложный и если будет желание у большинства подписчиков,
то я могу начать писать об этом в ближайшее время. Придется "расчленить"
рассылку на части "для новеньких" и "для продвинутых".

Хотя своей первоначальной задачей я видел описание библиотек Qt, XLib и
GTK, чтобы все могли приступить к разработке прикладных программ под
графическую систему X Windows. Ведь мощь и распространенность системы
зависит от количества полезных для пользователей программ.

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

Еще письма
======================
Leonid
  А может всё таки рассылку про FreeBSD сделаешь, а то всё таки линукс
  это же лоховство типичное

Maryanna Nesina
  может быть, лучше программирование под Unix - люди активно пользуют и
  FreeBsd, и Solaris (см opennet.ru)
======================

Отвечу всем сразу, чтобы не было нападок и всяких "фи". Программируют
под Linux, Solaris, BSD и т.д. в основном на С++. Большинство библиотек
существуют под всеми этими системами. Если ориентироваться только на
прикладной уровень и базовые возможности системы, то вероятность того, что
ваш код будет работать везде очень высок. Поэтому не надо разделять
FreeBSD, Linux и т.д. Все они практически одинаковые. Просто я
буду делать акцент именно на Linux из-за того, что он достаточно распространен,
бесплатен и только у него существует множество модификаций (дистрибутивов).
Кроме того именно с него начинает большинство будущих программистов Unix.
Если кому-то надо пересесть на Solaris, то он это сделает без особых
проблем (а вообще-то покажите мне Solaris работающий на платформе Intel,
почти все они используются только для Sun, потому что Intel для
профессиональных серверов не всегда пригоден) Что касается FreeBSD, то
"найдите 10 отличий от linux"... (хехе, если вы их найдете, то тогда
зачем вой поднимать... Вы профи и мы тут не причем...)

А теперь к поучительной части рассылки.

Компиляция программ на языке C/C++
=======================================
Компилятор превращает код программы на "человеческом" языке в объектный
код понятный компьютеру. Компиляторов под Linux существует много,
практически для каждого распространенного языка. Большинство самых
востребованных компиляторов входит в набор GNU Compiler Collection,
известных под названием GCC (http://gcc.gnu.org).

Изначально аббревиатура GCC имела смысл GNU C Compiler, но в апреле 1999
года сообщество GNU решило взять на себя более сложную миссию и начать
создание компиляторов для новых языков с новыми методами оптимизации,
поддержкой новых платформ, улучшенных runtime-библиотек и других изменений
(http://gcc.gnu.org/gccmission.html). Поэтому сегодня коллекция содержит в
себе компиляторы для языков C, C++, Objective C, Chill, Fortran, Ada и
Java, как библиотеки для этих языков (libstdc++, libgcj, ...).

Компиляция программ производится командой:
gcc <имя_файла>

После этого, если процесс компиляции пройдет успешно, то вы получите
загружаемый файл a.out, запустить который можно командой:
 ./a.out

Для примера давайте напишем маленькую простейшую программку:

#include <stdio.h>
int main(){
    printf("[http://linux.firststeps.ru]\n");
    printf("Our first program for Linux.\n");
    return 0;
};

Количество подписчиков: 503

Выпуск подготовил: Кузин Андрей (dron@mjk.msk.ru)

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное