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

Автор: admin от 21-02-2014, 14:20, посмотрело: 1 197

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

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

Для написания программы, нам понадобятся:

  • Компьютер или виртуальная машина с 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;
                }
        }
}

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

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

Типы окон:
0 — прозрачное;
1 — без скина, можно изменить размер;
2 — без скина, размер изменить нельзя;
3 — со скином, размер изменить можно;
4 — без скина, размер изменить нельзя.

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

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

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

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

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

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

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

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


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

Источник: Хабрахабр

Категория: Операционные системы / iOS

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

Добавление комментария

Имя:*
E-Mail:
Комментарий:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent