Пишем «Hello world!» для KolibriOS на C

    Многие люди задаются вопросом: «Можно ли написать программу на Си под KolibriOS?»
    Ответ: «Да, можно!», и ниже я расскажу, как это сделать.


    Для написания программы, нам понадобятся:
    • Компьютер или виртуальная машина с KolibriOS (если у Вас не установлена KolibriOS, её можно скачать с нашего сайта). Напомню, что KolibriOS для работы требует минимум 8MB RAM и Pentium-совместимый CPU.
    • Флешка (если Вы пишете код не в самой Колибри).
    • Компилятор TCC (Tiny C Compiler). Сборку для Колибри (mini_c_dev) можно скачать на нашем форуме. Тема с обсуждением ktcc (Kolibri TCC) находится здесь: board.kolibrios.org/viewtopic.php?f=45&t=565

    Немного теории

    В KolibriOS существует два вида программ: оконные и консольные. Программа с GUI пишется при помощи системных функций и библиотеки BoxLib. Консольная программа пишется с использованием библиотеки console.obj. О работе с библиотеками будет рассказано в следующих статьях; сегодня мы напишем оконное приложение на основе системных функций.

    Оконное приложение состоит из функции main(), в которой есть специальный обработчик сообщений:

    while (!0) {
            switch (_ksys_wait_for_event(10)) {
                    case 2:
                            return 0;
    
                    case 3:
                            if (_ksys_get_button_id() == 1)
                                    return 0;
                            break;
    
                    default:
                            //Здесь задаются команды, с помощью которых можно нарисовать окно.       
                            break;
                    }
            }
    }
    

    В нашей программе мы будем обрабатывать только события клавиатуры и нажатия на кнопки. Их обработка происходит в цикле while при помощи switch — case.

    Разберём эти события:
    2 — нажата клавиша на клавиатуре;
    3 — нажата кнопка, определённая ранее кнопка (в данном примере это только крестик закрытия программы, который является кнопкой создаваемой вместе с окном);
    Более подробно о системе событий можно прочитать на нашей Wiki или в документации, поставляемой с ОС (программа Docpack на рабочем столе).

    Для удобства разработки, мы вынесем команды, которые отвечают за внешний вид окна, в отдельную функцию draw_window().

    Теперь пришло время разобраться, как же нарисовать окно.
    Рисование окна начинается с функции _ksys_window_redraw(1), и заканчивается _ksys_window_redraw(2). Для рисования окна, нужно воспользоваться функцией _ksys_draw_window (координата окна по х, координата окна по у, ширина, высота, цвет, тип окна, цвет заголовка окна, неперемещаемое ли окно, цвет рамки окна);

    Типы окон:
    0 — тип I — окно фиксированных размеров (без скина)
    1 — только определить область окна, ничего не рисовать
    2 — тип II — окно изменяемых размеров (без скина)
    3 — окно со скином (изменяемых размеров)
    4 — окно со скином фиксированных размеров

    И наконец, чтобы нарисовать текст, нужно воспользоваться: _ksys_write_text (координата х, координата у, тип шрифта, строка, длина строки);

    Теперь можно приступить к самому коду

    Писать программу можно прямо в КолибриОС. Открываем Tinypad, и пишем такой код:

    #include <stdio.h>
    #include <string.h>
    #include <kolibrisys.h>
    #define FONT0           0
    #define FONT1           0x10000000
    
    char header[] = {"Hello World!"};
    
    #define BT_NORMAL       0
    #define BT_DEL          0x80000000
    #define BT_HIDE         0x40000000
    #define BT_NOFRAME      0x20000000
        
    void draw_window () {
            _ksys_window_redraw(1);
            _ksys_draw_window(100, 100, 300, 120, 0xaabbcc, 4, 0x5080d0, 0, 0x5080d0);
            _ksys_write_text(50,30,FONT0, header, strlen(header));
            _ksys_window_redraw(2);
    }
    
    int main (int argc, char **argv) {
    
            while (!0) {
                    switch (_ksys_wait_for_event(10)) {
                    case 2:
                            return 0;
    
                    case 3:
                            if (_ksys_get_button_id() == 1)
                                    return 0;
                            break;
    
                    default:
                            draw_window();
                            break;
                    }
            }
    }
    

    Теперь настало время компилировать!

    Если вы писали код не в Колибри, сбросьте его на флешку вместе с компилятором. Например, я сохраню файл под именем hello.c.
    Для людей, которые не могут установить Колибри, можно подключить флешку к виртуальной машине:

    image

    Для компиляции, откроем в консоли (Shell) директорию, где лежит компилятор, и введём такую команду
    ktcc.kex <имя_исходного_файла> libck.a –o <имя_готовой_программы>

    Если всё сделано правильно, мы увидим нашу программу в той же директории. Теперь её можно запустить.
    И получим следующую картину:

    image

    Для тех кто не любит много читать, видеоурок по теме:


    Повторюсь, что обсудить ktcc (и программы для него) можно на нашем форуме.

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

    Нужна ли на Хабре статья об использовании кросс-компиляторов C для KolibriOS?

    • 79.9%Да283
    • 20%Нет71
    KolibriOS Project Team
    0,00
    Быстрая операционная система для бизнеса и хобби
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 79

      +7
      А ещё есть кросс-компиляторы gcc и watcom, и несколько разных libc.
        +2
        О которых никто так никогда и не узнает, потому что комментатор выше о них не напишет :-)
          0
          А что, нужно?
            0
            Лично мне — нет. Но на Хабре — возможно, да. Я добавил опрос в конце этого поста.
              +3
              Это была бы крайне полезная информация.
            +8
            Для использования которых нужны очень развитые навыки танцев и работы с бубном.
              0
              Едва ли более развитые, чем для полноценного использования tcc в Колибри.
                +2
                Как показала практика, никто так и не смог настроить автосборку чего бы то ни было с libc. Только compiles on my machine, только ручная работа с бубном.
                  0
                  Это меня немного удивляет. В linux вообще никаких проблем с компиляцией кода с libc не возникает.
                    +6
                    Ну да, совсем никаких проблем, и на форуме нет десятков жалоб на проблемы с компиляцией.
                    Факт остаётся фактом: за три года существования автосборки список программ на fasm с компиляцией изменяется постоянно всеми, кому не лень, а все — абсолютно все — программы, использующие libc, включаются строго уже скомпилированными бинарниками или не включаются совсем. Может быть, всё-таки проблемы в консерватории?
                      +6
                      Пожалуй, мне действительно нужно написать какой-то образовательный материал, который поможет разобраться с этими жалобами. Спасибо за то, что указала первой же ссылкой моё сообщение — это действительно сильный аргумент. Два года бессонных ночей пронеслись перед моими глазами вновь, и я вдруг осознал, насколько сложно было скомпилировать для Колибри в первый раз даже такую простую вещь, как freetype.
            +1
            Будет ли возможность разрабатывать код кроссплатформенно под Windows / Linux + KolibriOS?

            С оконными интерфейсами и т.д.
              +1
              Оконные приложения для KolibriOS можно уже сейчас разрабатывать под Windows/Linux
                +2
                Теоретически — да, есть, например, порт SDL и какое-то количество портированных программ, которые не умеет собирать никто, кроме тех, кто портировал.
                Практически — для настройки понадобятся очень крепкие нервы — скажем, мои не выдерживают — и контакт с кем-нибудь из наших ЯВУшников. Можете быть уверены, что с первого раза ничего собрать не получится. ЯВУшники проекта подскажут, что именно вы сделали не так, но делать так, чтобы у всех всё просто собиралось, и не подумают.
                +7
                case 2:return 0;
                
                                case 3:
                

                за такое руки отрывать надо — зачем плохой пример людям показывать?
                Вот потом открываешь такой код и долго думаешь что за это за 2, что за 3 такие?
                  +10
                  Не стреляйте в пианиста — он играет, как умеет.
                  Автору поста только 15 лет. Старается, как может. Если ему сейчас оторвать руки, то лучше он точно уже не станет.

                  По теме вопроса: надеюсь, что кто-то из наших СИ-шников даст более подробное объяснение.
                    0
                    То, что отрывать руки не гуманно, не означает, что по этим самым рукам нельзя бить. =)

                    Автору: не принимай близко к сердцу то, что мы тут придрались к такой мелочи, но глаз всё-таки действительно режет, а исправить совсем несложно же.

                    UPD: прочитал ответ Punk_Joker, впал в уныние. Руки отрывать кому-нибудь всё-таки надо.
                      +3
                      можно уточнить причину, скрытую в моем сообщении?
                        +6
                        Речь про сообщение
                        >>> об этом как-то не задумывались, так как коды событий описаны в документации API ядра
                        , в котором причин целая масса.

                        Всё-таки, не здорово лезть в документацию, чтобы вспомнить, что же делает код 2. Какой-нибудь KSYS_EVENT_EXIT смотрелся бы куда лучше. Причём оно полезно не только для посторонних людей, которые вне контекста. Даже если вы знаете, что такое 2 и 3, то различить их визуально при проматывании switch-блока сложнее, чем KSYS_EVENT_EXIT и KSYS_EVENT_BUTTON_PRESS.

                        Ну и самое главное, kolibrisys.h — это тоже часть документации, а не условный костыль языка С, чтобы всё компилировалось. А сейчас там набор функций без каких-либо указаний возможных возвращаемых значений и их смысла для не-void. Перечисляя все эти 2 и 3 в виде #define в хэдере вы убиваете двух зайцев.
                      0
                      Предложите парню выложить код на github. Получит опыт принятия PR
                        +3
                        Код и так на нашем SVN в свободном доступе: websvn.kolibrios.org/listing.php?repname=Kolibri+OS
                        GitHub не пользуемся принципиально: во-первых, это не позволит нам делать авто-сборку проекта на своём сервере, а во-вторых, иногда они решают за тебя, что твой код нужно удалить без предупреждения.
                          +5
                          Почему не позволит?
                          Совсем недавно стали доступны веб-хуки, без приложения. Просто указываете адрес и по событию (push/pull-request/issue, etc.) на адрес постится json.
                          Да, неприятная ситуация.
                          Давно с восхищением читаю ваши посты, половины не понимая — но вот простой вопрос. А почему впринципе не хотите перейти на git, пусть и без github?
                            +3
                            Ну зачем городить огороды и изобретать велосипеды? Есть SVN, доступ на чтение из него есть у всех. Доступ на запись можно попросить, и любой желающий (убедивший нас, что не будет заниматься вредительством) её получит. На том же сервере, где установлен SVN, есть shell-скрипт автосборки, который запускается пост-коммитным хуком, и имеет прямой доступ ко всем исходникам. Потом на том же сервере выкладываются автоматически результаты сборки в виде готовых образов дискеты и CD-ROM (IMG, ISO). Зачем использовать сторонние сервисы, заморачиваться с передачей данных между разными серверами, зависеть от чьей-то доброй воли, когда всё и так бесплатно есть у нас самих?
                              +2
                              А почему просто не перейти с svn на git без гитхаба? Git всё-таки гораздо удобнее.
                                +2
                                Тем более есть gitlab для удобной работы.
                                  +4
                                  Я в таких тонкостях не силён, простите. Исторически там стоял SVN (ещё с 6 октября 2005 года). Я даже не знаю, существовал ли git в то время, и был ли он пригоден для повседневного использования. Разработчиков Колибри SVN всем устраивает — зачем менять то, что хорошо работает? Только потому, что менять — это модно?
                                    0
                                    Поверьте, с git всё становится гораздо удобнее. Перечислять плюсы не буду, всё уже много раз перечислено до меня, например habrahabr.ru/post/68341/.
                                      +6
                                      Спасибо за линк — прочитал ту статью. Но я искренне не могу понять, в чём лично для нас будет преимущество? Причём, один недостаток очевиден сразу — всем разработчикам придётся переучиваться с SVN на GIT.
                                        0
                                        Возможно, кому-то — переучиваться, но учитывая что в коммьюнити много молодых разработчиков, знакомство с Git им не повредит (им ещё в вуз/на работу устраиваться).

                                        Ну или другой вариант: сейчас пока ваш SVN-сервер где-то далеко, контрибьютить я туда скорее всего не буду без острой на то нужды (ещё зависит от сложности отправки/скорости рассмотрения патчей и т. п.). Гитхаб же — социальная сеть, там отправить патч — дело минуты, не нужно нигде регистрироваться и вести нудную переписку на форуме/по e-mail. Количество патчей точно не уменьшится, а коммьюнити гитхаба — это сильное подспорье. Перевод svn на гихтаб дело пары команд. А попробовав силу слияния веток гита уже невозможно отказаться:)
                                          +2
                                          Давайте, вы честно признаете — контрибьютить в наш проект вы никогда не будете, и дело совсем не в инструментах.
                                            0
                                            Одна только возможно оставить комметарий к любой строке кода через браузер (на github) — это уже хороший повод перейти на github.
                                              +1
                                              Может для вас повод, но для нас совсем не показатель.
                                            +2
                                            Посмотрите мой профиль — я с 1993 года живу в Израиле, и с 2004 года работаю там в хай-теке. Все фирмы, где я работал, включая мою теперешнюю работу (где в разных странах занято около 800 сотрудников, из них 550-600 в Израиле), почему-то используют только SVN. Все фирмы прибыльные, значит, там сидят далеко не идиоты. Так что Вы не сможете меня убедить, что SVN — отстой, а GIT — наше всё.

                                            Получить доступ на запись в наш SVN Вы можете, просто зарегистрировавшись на нашем форуме и попросив этот доступ. Причём коммитить Вы сможете сразу в «транк» (будет совсем шлак — Ваш коммит просто откатят). Если Вам даже это лень сделать, то переход на Git проблемы не решит.

                                            Наше сообщество довольно маленькое по меркам других open-source проектов. Для нас единственный способ, чтобы чей-то код кто-то протестировал, — это запихнуть этот код сразу в «транк», без всяких лишних телодвижений. Именно поэтому, централизованный репозиторий SVN — наш единственный способ выжить.
                                              0
                                              Проблема не в том, что SVN отстой, а GIT крутяк крутяцкий, а в том, что на текущий момент GIT как ни крути популярнее чем SVN. И на волне популярности git и github, вы можете поднять популярность и вашего продукта. О чем собственно и пытался вам донести парень выше.
                                              Например, я лично искренне хотел начать изучать исходники колибри и возможно что-нить для него написать, но сам факт того, что он на SVN отбил у меня такое желание, по той простой причине, что я незнаком с SVN.
                                              Еще насчет git. Я кручусь немного в другом соку, а именно веб-разработка и мне довелось сотрудничать с десятком фирм из этой же области, и ни одна из них не использует SVN.
                                                0
                                                То есть, из-за того, что Вам лень знакомиться с SVN, существующие разработчики Колибри должны бросить SVN и бежать знакомиться с GIT? Какой-то у Вас неравноценный обмен получается.
                                                  0
                                                  Я лично тут совершенно не причем, вы почему-то всё свели лично ко мне. Своё мнение я описал. Вкратце его суть сводится к тому, что на популярности GIT можно поднять популярность проекта, вот и весь смысл этого сообщения. Не зря же самые популярные опенсорс проекты переходят на git.
                                                    0
                                                    Я вовсе не имел намерения Вас задеть, но раз уж Вы снова подняли обсуждение 9-месячной давности, не мог не ответить.

                                                    А у Вас есть какие-то статистические данные по увеличению популярности? Проект X использовал SVN, потом перешёл на GIT, и количество разработчиков возросло в 2 раза? Или нам нужно потратить время (которого и так не хватает даже на нужные фичи и багфиксы), чтобы перевести проект на GIT, а новых разработчиков нам никто не гарантирует?
                                                      0
                                                      Возможно вы правы. Просто я считал, что не так сложно сменить систему управлений версиями. Есть ведь импорт в самом git (команда git svn clone). Но раз вы так говорите, возможно я заблуждаюсь.
                                                        +2
                                                        Вам, лично вам, никто не мешает клонировать наш svn-репозиторий в локальный git-репозиторий и продолжать работать с git — git svn clone svn://kolibrios.org создаст локальный git-репозиторий, с которым можно работать как обычно, только с git svn rebase вместо git pull для подтягивания новых изменений. Впрочем, весь репозиторий с 5179 ревизий на данный момент вам вряд ли нужен, git svn clone svn://kolibrios.org -r5000 && git svn rebase kolibrios.org несколько экономичнее.
                                                          0
                                                          Ухты не знал! Благодарю, попробую.
                        +6
                        Как уже писалось человек учится. А эти циферки это системные события. О них в статье действительно ничего не написано, но вскоре все будет исправлено. Спасибо за замечание.
                          +2
                          А в ваших заголовках эти события ни как не именуются?
                            +1
                            Нет. Раньше об этом как-то не задумывались, так как коды событий описаны в документации API ядра.
                              +6
                              В ассемблерном наборе разных полезных и бесполезных макросов события именуются. Признанных заголовков для программ на ЯВУ просто не существует, каждый изобретает свои собственные.
                                +3
                                Вообще-то нумеруются, в нормальных библиотеках.
                                  +1
                                  При всем моем уважении к подвигу колибриписателей, я не могу не отметить тот факт, что API KolibriOS разработана в наихудших традициях MS-DOS.
                                    +2
                                    Дыж, сколько можно уже писать из раза в раз одно и тоже?! Ну, вы хоть всей толпой приходите что ли? API Достался от MenuetOS «AS IS» и мы не имеем желания и ресурсов переписывать API и четыре сотни программ его использующих, лишь бы удовлетворить ваше изувеченное чувство прекрасного!

                                    Честное слово задалбывает это уже в стопятсотый раз читать. Вы еще стопятьсотпервый раз напишите «Прибитое к одной архитектуре гвоздями — не нужно!» и будет очень оригинальным на фоне всех остальных критикующих! Правда-правда!
                                      +1
                                      Но это же правда! На фоне Колибри никсы выглядят академической ОС за совместным авторством Вирта и Таненбаума, а Windows — гениальной разработкой MITовских студентов образца начала шестидесятых.
                                        +2
                                        О! Мы уже дошли от «мертворожденное, эталонное ненужно, с больными на всю голову криворукими разработчиками» до сравнения с Большими ОС, развивающихся миллионными армиями разработчиков более трех десятков лет, API которых от версии к версии меняется иногда так, что ломается больше половины функционала. Мда, прогресс на лицо!
                                          +3
                                          Ну хватит уже, а то я вообще перенесу статью в черновики, и все ваши комментарии пропадут :-)
                                            0
                                            del, случайно нажал не дописав.
                                              0
                                              Обидно то как, а я уже письмо стер из ящика, думая что здесь прочту. Может еще раз изложите?
                                                0
                                                См. ниже.
                                              +6
                                              Вы не путайте. Я «мертворожденное, эталонное ненужно, с больными на всю голову криворукими разработчиками» не говорил, ибо так не считаю.

                                              А теперь по делу. Почему мне не нравится Колибри?

                                              Потому, что однажды (мне было лет двенадцать) в библиотеке я наткнулся на учебник по Delphi. И зажегся Мечтой. Компьютера дома не было, компьютер был у бабушки летом. У бабушки же недалеко от дома был радиорынок, на котором я купил диск с пятым Delphi (на котором было полно других программ, но об этом после). Книжку я к тому времени сдал в библиотеку и потому два дня ломал голову над загадкой := (предварительно переустановив три раза винду). Потом нарисовал в Delphi простую игру типа «поймай кнопочку» и мне это надоело.

                                              Но на диске оказалась копия TASM и учебник по нему. Я еще месяц поломал голову, пока не понял что такое командная строка. Потом начались простейшие хелловорды типа «переведи число в шестнадцатеричную форму». Потом возникла сумасшедшая идея написать свою ОС.

                                              В книжном шкафу другой бабушки был обнаружен «Inside IBM PC» Нортона. После его чтения в моем мозгу создалась примерная (и, как оказалось, ошибочная) схема работы компьютера. Спасибо Нортону за то, что я знаю что такое оперативная память. Но тогда я возненавидел Нортона за тот вопиющий факт, что он не называл конкретных сигнатур, регистров и номеров прерываний.

                                              Потом возник безлимитный интернет. Про википедию (тем более английскую) я тогда еще ничего не знал. Зато каким-то образом наткнулся на WASM.RU. Там я нашел три вещи. Во-первых — описание сервиса BIOS и формата бутсектора. Во-вторых — FASM. В-третьих — мануал по защищенному режиму. Прочитав последний, я заплакал и пошел на курсы по Паскалю.

                                              Дальше было много чего. Были курсы Паскаля, из коих я вынес только знание принципов CRT. Был репетитор, который наконец-то рассказал мне про алгоритм Евклида, сортировки и рекурсию. Были безвременно оборвавшиеся курсы Си, на которых у меня наконец-то зародилась моя первая и наивная теория указателей. Был переход на Linux. Короче, много чего было.

                                              Потом я случайно наткнулся на заброшенный форум осеписателей и вспомнил про Мечту. Снова начал писать свою ОС на FASM, попутно доставая завсегдатаев форума дурацкими вопросами. Там меня наконец вылечили от досинтелизма. Вылечили с трудом, путем ковровой травли. И правильно сделали, я им за это очень благодарен. В общем, мне понадобилась капитальная ломка мозгов. И я считаю, только потому, что я узнал о x86 вообще и BIOS в частности. Я, например, просто не мог понять что такое плоский режим. Просто из-за того, что привык к кривому миру x86 и идиотскому API BIOSа.

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

                                              Когда и если моему ребенку придет в голову заняться ОС, я не хочу, чтобы знакомые «крутые хакеры» искалечили его неокрепший мозг, рассказав о KolibriOS.

                                              Но еще раз повторяю, я преклоняюсь перед подвигом разработчиков. KolibriOS — это рукотворный памятник человеческим способностям. И место ему в кунсткамере.
                                                +2
                                                Не хочу вас обижать, но у вас очень скудное и однобокое представление о теме в которой вы решили не разбираться. Я не оцениваю вас как человека, возможно в других областях вы гений, но тут какой то детский опыт сыграл с вами злую шутку. Мнение большинства никогда не является априори правильным, лишь потому что они большинство. Миром движут подвижники, которых поначалу всегда презирают (чужие ведь и странные) и боятся (а кто его знает чего он задумал?) и лишь впоследствии когда это становиться востребовано большинством, это «детство» внезапно и прочно забывается и на него налагается табу.
                                                  +3
                                                  Еще раз.
                                                  Я считаю, что применять Колибри в педагогических целях, как пример ОС, — преступление против мозга ученика.
                                                  Применять Колибри в продакшн — пожалуйста, дело хозяина. Но насколько я видел, разработчики продвигают ее прежде всего как «школьную», «учебную» ОС.
                                                    +3
                                                    Вы что-то путаете — Колибри использует 16-бит и API BIOS (real mode) только для загрузки, а после загрузки сразу переходит в 32bit protected mode (защищённый режим), и от BIOS больше не зависит. А такого понятия как «плоский режим», я вообще не знаю — есть real mode, protected mode, long mode (64 bit).
                                                      +1
                                                      Хотя Колибри и не использует BIOS, принципы работы и API колибри по своей идеологии и организации сильно напоминает BIOS. Те же прерывания, полное отсутствие какой-либо универсальности API, завязка под конкретную платформу, ассемблер во все поля и т. п.

                                                      А плоский режим — это не режим работы процессора, а режим использования памяти ОС. Сегменты на все четыре гигабайта и переключение задач через страницы. Он используется во всех современных ОС (в том числе Колибри), но никогда не освещался в старых учебниках. Его я привел просто как пример — правда, совершенно не релевантный.
                                                        +1
                                                        Т.е. то что человек по своей идеологии и организации сильно напоминает обезьяну вас не смущает? Такими аналогиями можно охватить многие вещи. Вот современный автомобиль по своей идеологии и организации сильно напоминает телегу. А еще лампочка накаливания по своей идеологии и организации сильно напоминает восковую свечку. Ваши претензии все же сильно натянуты и завязаны на полученный вами отрицательный эмоциональный опыт, который вы по какой то причине воспринимаете как благо, поскольку вы постарались и вписались в систему других людей, но это не является доказательством абсолютной истинности. Зачем ограничиваться лишь одной стороной, если мир гораздо сложнее и в нем есть место множеству вариантов.
                                                          +3
                                                          Ладно. В конечном итоге, зачем я затеял этот очевидно бессмысленный флейм?

                                                          Желаю удачи в ваших разработках и хороших выходных!
                                                            0
                                                            Спасибо и вам не хворать. :-)
                                                      +2
                                                      Но насколько я видел, разработчики продвигают ее прежде всего как «школьную», «учебную» ОС.

                                                      Это где это вы прочитали? Досужие размышлизмы людей не причастных к разработке, в попытках впихнуть в свое устоявшееся мировоззрение появившуюся новую-старую вещь. А насчет «преступление против мозга ученика» это вы современную школьную программу РФ еще не видели. Вот уже где люди оторвались по полной.
                                                        +1
                                                        Видел и лично учил. Но, слава богу, нормальные учителя ее игнорируют.
                                                          0
                                                          Опять же говорите за себя. Сколько знакомых родителей воют «Какие идиоты это придумали?»
                                                            0
                                                            Да, я говорю за себя. Потому, что за всю Одессу говорить глупо.
                                                            И опять же, за себя: я хорошей школьной программы не видел никогда (хотя учился в двух совершенно разных странах по четырем совершенно разным программам). Все программы состоят большей частью из административного идиотизма. Результат зависит только от степени адекватности учителя.
                                                            Но что-то мы в полный оффтоп заехали.
                                    –6
                                    Компилятор TCC (Tiny C Compiler). Сборку для Колибри (mini_c_dev) можно скачать на нашем форуме. Тема с обсуждением ktcc (Kolibri TCC) находится здесь: board.kolibrios.org/viewtopic.php?f=45&t=565

                                    Раз так, то вопрос снимается. Я надеялся, что будут виртуозные танцы с бубном по поводу Application Binary Interface и прочей тонкой материи, но здесь лишь описание того, как обращаться с C в колибри.
                                    Вывод — тема не нужна.
                                      +5
                                      Вывод — тема не нужна.

                                      Пожалуйста, говорите за себя. Не стоит так уж второпях решать единолично за всех остальных, что им нужно, а что нет.
                                        0
                                        Я именно говорю за себя: нигде не написал, что выступаю от лица какой-либо группы. Здесь много людей, думающих людей со своим мнением — это нормально и правильно. И поэтому то, что я говорю сам за себя, просто подразумевается.
                                          +2
                                          Вот вы представьте — вам не нужен например автомобиль внедорожник (или наоборот малолитражка) и вы к каждому, увиденному в пределах вашего горизонта событий, дилеру подходите и сообщаете, что вам это не нужно, даже если он вам лично ничего не предлагал?
                                            0
                                            А статья с заголовком — это не предложение разве, прочитать и увидеть для себя интересное? А голосование — разве не способ именно выяснить востребованность? мой комментарий с выводом относится к вопросу голосования. Я не увидел интересного и высказался.
                                            Кстати, ссылка точно в тему: diamond.kolibrios.org/hll/hll_eng.htm.
                                              +2
                                              Я думаю моего участия в проекте с 2003 года было достаточно, чтобы не один раз видеть статью по ссылке, которую вы разместили. Более того вы сравниваете опытного борца тяжеловеса и начинающего легкоатлета. Если бы высказались в духе «Тема не будет интересна опытным программистам», то никаких вопросов бы не возникло. Однако ваше категоричное «Вывод — тема не нужна», очень отдает привкусом одного ресурса, на котором что не размести обязательно напишут «Эталонное не нужно!»
                                            +1
                                            Каждый человек имеет право на своё мнение — полностью с Вами согласен. Но, если Вы действительно говорите только за себя, то добавляйте, пожалуйста, местоимение «мне» перед словосочетанием «не нужно». Я надеюсь, что у Вас длина комментария не ограничена размером «твита» (160 символов), что заставляет Вас сокращать свои сообщения?
                                              0
                                              Я в свою очередь надеялся, что люди здесь достаточно проницательны для того, чтобы не считать моё мнение единственно претендующим на истинность. Я не написал этого самого «мне», но и не написал «нам» — почему же нужно исходить из худшего в ненаписанном? вопрос риторический, как и с твитом.
                                                +4
                                                Обычно те, которые говорят только за себя, просто молча голосуют минусом (к посту, к комментарию, в карму), и в вопросе голосования выбирают соответствующий ответ. Те, кто пишет «не нужно» отдельным комментарием, претендуют на большее, чем просто выражение своего личного мнения. Вы можете в этом не признаваться, но это именно так :-)
                                                  0
                                                  :) понимаю. Но… это было бы именно так, да, если бы у меня было достаточно кармы для молчаливого голосования, а пока приходится выражаться комментариями.
                                                    +2
                                                    Вы путаете причину и следствие image Это наоборот, у Вас недостаточно кармы потому, что Вы писали такого рода комментарии. Карму я Вам сейчас поднял на 1, но это всё, что я могу для Вас сделать.
                                          0
                                          Зачем вам танцы с бубном? Всё решает простой скрипт линковки.
                                          +3
                                          Java машину бы поднять на колибри :)

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

                                        Самое читаемое