Создать ответ 
 
Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Fenix
Автор Сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7131
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 134
Поблагодарили 1171 раз(а) в 729 сообщ.
Сообщение: #6
Fenix
Нужно иметь настроенный cygwin с компиляторами и KOS, мона ее даже не компилить, она только для файлов заголовков нужна будет(.h).
Пример модуля я положил туда, можешь вот просто зайти в папку с SDK и написать make, скомпилится как модуль файл module.c (это тестовый модуль - пример), будет 2 файла:
1. dgb-module.klf - этот не используем, можно его удалить, он для debug, т.е. он компилится немного подругому, чтобы было видно используешь ли ты функции которые не доступны без дополнительных библиотек. Если компилятор ошибок не выдал при компилировании этого debug модуля, то значит все ок.
2. module.klf - этот модуль используем, причем в DC версии Fenix, я сделал возможность прописывать адреса подулей в любые места, не так как для других платформ, там только в той же папке они могут лежать. Т.е. например можно написать /vmu/a1/module.klf

Еще есть один нюанс, когда компилируешь Fenix приложение, то прописывая загрузку модуля, компилятор идет его проверять по этому адресу. С адресом то проблем нет, можно насоздавать любых папок(в том числе и /vmu/a1 или /cd и т.п.), но вот он его проверяет еще на совместимость, поэтому компилятор начинает ругаться, типа что это не приложение Win32, для обхода этой проблемы тупо ложим вместо нашего дримовского модуля, любой другой скомпиленный под Win32(т.е. dll) называем его как нужно и все, компилятор больше не ругается и нормально компилит, потом просто ложим дримовский модуль вместо win32 для запуска на дриме.
Компилятор Fenix я потом исправлю, чтобы он не проверял эти модули, чтоб не парится с такой махинацией, хоть и не очень сложной.

Еще о компилировании модулей в SDK.
Там есть папки include, lib и libdebug.
include - здесь лежат заголовки Fenix, чтобы можно было использовать функции иго.
lib - здесь лежит скомпиленная библиотека libdebug, можно и свои ложить.
libdebug - это библиотека, в которой прописаны fake функции KOS, Fenix, SDL и т.д. Она нужна для компилирования debug модуля - dbg-module.klf
В исходниках этой библиотеки можете посмотреть названия всех функций, которые вы можете использовать без дополнительных библиотек. Они там прописаны как int func_name

[Изображение: barbers.png]
(Последний раз сообщение было отредактировано 23.08.2007 в 12:33, отредактировал пользователь SWAT.)
23.08.2007 12:31
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ 


Сообщения в этой теме
Fenix - SWAT - 16.08.2007, 16:49
Fenix - zaero - 17.08.2007, 00:47
Fenix - SWAT - 17.08.2007, 01:19
Fenix - zaero - 17.08.2007, 01:21
Fenix - alex - 22.08.2007, 19:29
Fenix - SWAT - 23.08.2007 12:31

Переход:


Пользователи просматривают эту тему: 1 Гость(ей)