[C++, C] Использование Obj библиотек в KolibriOS в языках высокого уровня
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Вступление
В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC.
SVN
Всегда когда делаете что либо для KolibriOS нужно иметь выкачанный SVN.
svn co svn://kolibrios.org
Он выкачается в текущую папку.
C_Layer
Для того чтобы удобно использовать библиотеки в kos32-gcc был создан C_Layer (тема на форуме, на WebSVN).
GCC
console.obj
Это просто консоль в KolibriOS. Пример загрузки и использования в SVN/contrib/sdk/samples/cpp_hello (К тому же он на С++, но можно использовать и C). Загрузка происходит в файле console_obj.h
Другие библиотеки посредством C_Layer
Перейдите в папку где у вас выкачан SVN. Далее перейдите в /contrib/C_Layer/ASM и выполните там make (чтобы оно сработало нужно иметь установленный fasm). Далее перейдите в папку /contrib/C_Layer/EXAMPLE. Там находятся пару примеров. Для компиляции соответственно тоже make.
TinyC
console.obj
Здесь все проще. В /programs/develop/ktcc/trunk/samples/consoleio.c пример использования. Здесь загрузка происходит в conio.h
Другие библиотеки
Импорт одних библиотек был сделан самодельно, для других перенесена реализация из C_Layer. Примеры использования библиотек в /programs/develop/ktcc/trunk/samples/clayer. Импорт boxlib и пример к нему писал я. Компилируются примеры скриптом для KolibriOS build_all.sh. Найти его можно и в самом iso, /kolibrios/develop/ktcc/, и на SVN. Но можно и из-под windows или linux.
C--
(Компилятор лежит в /programs/cmm/c--
c--.elf версия для linux, c--.exe для windows и c-- для KolibriOS. Если не получается компилировать, пишите в комментарии, тогда будет статья).
Несомненно в этом языке проще чем в других делать импорт библиотек.
Для начала нужно приинклудить соответствующий файл. Например для boxlib:
#include "../lib/obj/box_lib.h"
Для других библиотек соответственно. Доступные .h:
- box_lib.h
- libio.h
- console.h
- librasterworks.h
- http.h
- netcode.h
- iconv.h
- network.h
- libimg.h
- proc_lib.h
- libini.h
- xml.h
А далее нужно загрузить:
load_dll(boxlib, #box_lib_init, 0);
Последний параметр 1 для библиотек:
- libgfx
- libimg
- libini
- libio
А для остальных библиотек 0.
Какой второй параметр, можно найти в соответствующем .h файле, или в других настоящих программах на C--.
Об неточностях и вопросах пишите в комментариях
===========
Источник:
habr.com
===========
Похожие новости:
- [IT-стандарты, Терминология IT, Service Desk, Управление продуктом] Как определить метрики для процесса Управления проблемами (перевод)
- [Информационная безопасность, Service Desk, Развитие стартапа, Финансы в IT, IT-компании] Европейские банки в сравнении с российскими как жигули в сравнении с Porsche Cayenne
- [Браузеры, IT-компании] Google закрыла в Chrome ещё две уязвимости нулевого дня. За месяц их было устранено уже пять
- [Информационная безопасность, Криптография] Швейцарская разведка с 1993 года знала о контроле над шифрованием в стране со стороны ЦРУ
- Выпуск дистрибутива Clonezilla Live 2.7.0
- Доступен дистрибутив Oracle Linux 8.3
- [Информационная безопасность, Разработка веб-сайтов, SQL] Web Security SQL Injection 2020
- [Учебный процесс в IT, Развитие стартапа, Управление продуктом, Карьера в IT-индустрии] YC Startup Library на русском: Как создавать и тестировать идеи для стартапов (Майкл Сибель) (перевод)
- [Управление разработкой, Управление проектами, Управление персоналом] Переезжайте в YouTrack легко
- [3D-принтеры] Высокотемпературную 3D-печать – в массы (перевод)
Теги для поиска: #_c++, #_c, #_kolibrios_kolibrios_biblioteki (kolibrios колибриос библиотеки), #_c++, #_c
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:40
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Вступление В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC. SVN Всегда когда делаете что либо для KolibriOS нужно иметь выкачанный SVN. svn co svn://kolibrios.org
Он выкачается в текущую папку. C_Layer Для того чтобы удобно использовать библиотеки в kos32-gcc был создан C_Layer (тема на форуме, на WebSVN). GCC console.obj Это просто консоль в KolibriOS. Пример загрузки и использования в SVN/contrib/sdk/samples/cpp_hello (К тому же он на С++, но можно использовать и C). Загрузка происходит в файле console_obj.h Другие библиотеки посредством C_Layer Перейдите в папку где у вас выкачан SVN. Далее перейдите в /contrib/C_Layer/ASM и выполните там make (чтобы оно сработало нужно иметь установленный fasm). Далее перейдите в папку /contrib/C_Layer/EXAMPLE. Там находятся пару примеров. Для компиляции соответственно тоже make. TinyC console.obj Здесь все проще. В /programs/develop/ktcc/trunk/samples/consoleio.c пример использования. Здесь загрузка происходит в conio.h Другие библиотеки Импорт одних библиотек был сделан самодельно, для других перенесена реализация из C_Layer. Примеры использования библиотек в /programs/develop/ktcc/trunk/samples/clayer. Импорт boxlib и пример к нему писал я. Компилируются примеры скриптом для KolibriOS build_all.sh. Найти его можно и в самом iso, /kolibrios/develop/ktcc/, и на SVN. Но можно и из-под windows или linux. C-- (Компилятор лежит в /programs/cmm/c-- c--.elf версия для linux, c--.exe для windows и c-- для KolibriOS. Если не получается компилировать, пишите в комментарии, тогда будет статья). Несомненно в этом языке проще чем в других делать импорт библиотек. Для начала нужно приинклудить соответствующий файл. Например для boxlib: #include "../lib/obj/box_lib.h"
Для других библиотек соответственно. Доступные .h:
А далее нужно загрузить: load_dll(boxlib, #box_lib_init, 0);
Последний параметр 1 для библиотек:
Об неточностях и вопросах пишите в комментариях =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:40
Часовой пояс: UTC + 5