Помогите новичку

Applications development, KoOS API questions
  • Все, проблема решена, за что огромное спасибо Велианту =)
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • А есть ли какое либо руководство, туториал по программированию на С++ под КолибриОС?
  • нет
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Gluk, а как тогда научиться программировать по КоОС на С++, если нет обучающей статьи или чего то ещё?
  • Dronchik, hello world на различных языках есть вот тут: http://diamondz.land.ru/hll/hll.htm
  • Dronchik wrote:Gluk, а как тогда научиться программировать по КоОС на С++, если нет обучающей статьи или чего то ещё?
    На примерах. Вначале хелло_ворлда, как показал Heavyiron, а потом можно исходники Косилки или Эолайта поизучать. Будут вопросы - задавай сдесь.
    А учебник, если очень хочешь, сдесь:
    http://ru.wikibooks.org/wiki/%D0%A1%D0% ... 1%8E%D1%81
    или сдесь
    http://www.intuit.ru/department/pl/plintro/7/
    Из хаоса в космос
  • Leency, на самом С++ я программировать умею на должном уровне. Мне нужна хоть какая та документация по программированию под КоОС на С++. Потому что я asm вообще не знаю((( Сейчас изучаю примеры, проги, игры и либы на С++ под КоОС.
  • При программировании на С++ есть ряд сложностей (если это не С с классами [и то проблемы]).
    STL и libstdc++ юзать нельзя, они обращаются к malloc и free из либ компилятора твоей системы.
    Что бы написать нечто на плюсах надо подсунуть компилятору инородный STL (например от силикон графикс) и new.h delete.h (и cpp соответсвенно minuetlibc/libcpp) возможно и еще целый ряд файлов например ansidecl.h и т.д и с этим уже билдить kolibc ибо minuetlibc ИМХО но - анус.

    Короче все крайне не тривиально, пока что API колибри крайне низкоуровневый.

    P.S. все вышеперечисленное относится по большей степени к GCC компилятору. Под майкрософт и ватком другие заморочки.

    P.P.S. Если писать просто на С можно совсем не использовать чужие либы, а воспользоваться внутренним ассемблером с помощью вставок. Информация по системным вызовам лежит на главном сайте http://www.kolibrios.org/?p=Documentati ... mFunctions

    Например пишеш такую функцию (на примере майкрософта):

    Code: Select all

    int GetEvent() {
      int result = 0;
      const int fnum = 0x10;
      __asm {
         mov eax,fnum
         int 40h
         mov result,eax
      }
       return result;
    }
    
    И будет тебе функция схожая с GetMessage из Win32 API.
    Общий принцип такой в eax регистре - номер функции, параметры в других регистрах как указанно в документации к данной функции, вызов int 40h активирует системный вызов и возвращаемые значения (если таковые есть) в регистрах как указано в документации к функции. Часто прийдется использовать операции >> << | ! и &.
    mov перемещает из регистров в память(переменные) и обратно (а так-же из регистра в регистр).
    Регистр - нечто вроде переменной типа unsigned int. Всего регистров общего назначения 8 (см документацию по процессору Intel) они 4-х байтные (или 6 если процессор 64 - разрядный) обратится можно как ко всему регистру так и к его части например eax - весе 4 байта, ex - 2 младших байта и ah, al всего один байт h-старший l-младший.
    В общем особо серьезных знаний ассемблера не требуется для банального вызова системных функций колибри.
    Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.
  • Два вопроса:
    1. Клавиши 1,2,3,4...0 дублируют функциональные клавиши F1,F2,F3...F12 по функциям :) Тоесть нажатие клавиши 3 и F2 в моей проге равнозначные, как F5 и 6. Что делать? :)
    2. Как реализовать нажатие клавиши с удерживаемым шифтом? На Си.
    Вот нажатие клавиши V имеет определённый код, нажатие Ctrl+V тоже. Но код нажатия Shift+V = V. Что в таком случае делать?
    3. Можно ли програмно включать\выключать нам лок на асме?
    Из хаоса в космос
  • А если самому сначала детектить нажатие шифта?)
    Aka Rus.
  • А какой код шифта?)
    Из хаоса в космос
  • неужели в документации не сказано про шифт?
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • От диамонда получил соответствующие ответы.
    Из хаоса в космос
  • Пишу программу на Си. Не получается получить путь к файлу. Хотя в эмуляторе работает. По-моему проблемы с распределением адресов в заголовке. У меня:
    Start - 0x0024
    End - 0x0808
    Memory - 0x1a80
    Stack - 0x1880
    Param - 0x1980
    Path - 0x1880
    Кто-нибудь знает, здесь ли ошибка? Заранее спасибо.
  • Who is online

    Users browsing this forum: No registered users and 14 guests