Вот, статью написал:
http://diamondz.land.ru/hll/hll.htm (ссылка не рабочая)
Вариант пока предварительный, могут быть изменения (в том числе и по заявкам читателей).
Текущая статья по ссылке с Wiki http://diamond.kolibrios.org/hll/hll.htm
Архивная Статья из WebArhive (мало ли что)
nasm, vc, gcc и другие
-
Last edited by KPG on Sun Dec 13, 2020 12:23 am, edited 1 time in total.Ушёл к умным, знающим и культурным людям.
ОЧЕНЬ ПОЛЕЗНАЯ статья.
Статья хорошая. Я бы добавил ещё часть по Watcom С но он пока в зачаточном состоянии.
Отличная статья! спасибо.
Не нашел магического pe2kos и хидеров в статье
Они не в статье, они в прилагаемом к статье архиве, ссылка на который дана в самой статье.
http://board.flatassembler.net/topic.ph ... sc&start=0
тут есть пример программы на Ада и файлы для gnat
тут есть пример программы на Ада и файлы для gnat
Статья просто замечательная. Огромное спасибо! Только что возился с написанием "Хеллоуворлда" на Visual C++ для Kolibri .
Только вот заметил небольшую ошибочку (в главе "Среды Visual C++ 6, C++ из Visual Studio .NET/2005"). Если написать
то мы ничего не увидим, ибо последним аргументом (длиной строки) мы передаём 0. Если же передать реальную длину строки, то всё работает:
Только вот заметил небольшую ошибочку (в главе "Среды Visual C++ 6, C++ из Visual Studio .NET/2005"). Если написать
Code: Select all
kos_WriteTextToWindow(30,10,8,0,(char*)string,0);
Code: Select all
kos_WriteTextToWindow(30,10,8,0,(char*)string,strlen(string));
Code: Select all
// функция 4
void kos_WriteTextToWindow(
Word x, Word y,
Byte fontType,
Dword textColour,
char *textPtr,
Dword textLen
);
Может быть я что-то не так делаю, но...
не дает ровным счётом ничего, в отличие от
Проверял на ядре ревизии #605
Code: Select all
kos_WriteTextToWindow(270,200,8, 0xFFFFFF ,"K O S I L K A",0);
Code: Select all
kos_WriteTextToWindow(270,200,8, 0xFFFFFF ,"K O S I L K A",19);
Мне кажется, что 3-й параметр - тип шрифта (0 или 1). Может попробовать написать
Code: Select all
kos_WriteTextToWindow(270, 200, 0, 0x80FFFFFF , "K O S I L K A", 0);
Dron2004
Если
Если
то должнобы быть так:Третий параметр соответствует старшему байту ecx в функции 4
Code: Select all
kos_WriteTextToWindow(270,200,0x80, 0xFFFFFF ,"K O S I L K A",0);
В тексте статьи ошибка: на самом деле должно быть не 8, а 0x80, как отметил Alver. Кстати, в исходниках к статье (vc/hello.cpp) приведён правильный вариант.
Пытаюсь обьявить функцию как stdcall, но mingw начинает ругаться
ругаться начинает по другому
Не знаю в чем дело... Как ни странно в menuetlibc ниразу не пробегает слово stdcall, cdecl и подобные им.
Добавляю пару дефайновerror: syntax error before '*' token
error: `stdcall' declared as function returning a function
Code: Select all
# ifdef GNUC
# define stdcall __stdcall
# define cdecl __cdecl
# else
# define stdcall __attribute__ ((__stdcall))
# define cdecl __attribute__ ((__cdecl))
# endif
.error: syntax error before "__attribute__"
Не знаю в чем дело... Как ни странно в menuetlibc ниразу не пробегает слово stdcall, cdecl и подобные им.
Разобрался... если сделать дефайн GNUC то всё компилируетя
Who is online
Users browsing this forum: No registered users and 3 guests