Page 2 of 3
Re: Общие вопросы по языку Си.
Posted: Wed Oct 03, 2018 7:30 pm
by JohnXenox
akron1, Siemargl Cпасибо за ответы. Буду разбираться.
Re: Общие вопросы по языку Си.
Posted: Thu Oct 04, 2018 5:57 am
by Siemargl
В C_Layer есть реализация и вызовы из lib_img
http://websvn.kolibrios.org/filedetails ... on_files.c
можно адаптировать для ТСС
но я там не вижу инициализации функций памяти - и без них работали функции. может они там и не нужны?вызывались при загрузке DLL.Load
похоже на то, для полной функциональности нужно вызвать (придется на встроенном ассемблере)
lib_init при eax=mem.alloc, ebx = mem.free, ecx = mem.realloc, edx функция загрузки (нужна только для png) - можно поставить 0
функции mem.alloc итп - получают параметр в eax, возвращают eax - простые обвязки системных вызовов
слишком сложно, адаптация в топике ниже
Упд. Впрочем, думаю, что можно сделать небольшую заготовочку на FASM только скомпилировать в ELF, и TCC подцепит объектник. Надо попробовать.
Upd: Done
Re: Общие вопросы по языку Си.
Posted: Sat Oct 06, 2018 3:20 am
by JohnXenox
Siemargl Спасибо. Гляну, попробую, может чего выйдет. Но моих познаний в Си, боюсь не хватит.
Re: Общие вопросы по языку Си.
Posted: Tue Oct 09, 2018 10:16 pm
by Siemargl
JohnXenox wrote:Siemargl Спасибо. Гляну, попробую, может чего выйдет. Но моих познаний в Си, боюсь не хватит.
Готов пример в приложении. Важное отличие от gcc - расположение __attrib__ в объявлениях
Оказалось чуть сложнее, чем я думал.
Но зато остальные либы будет проще импортировать
Re: Общие вопросы по языку Си.
Posted: Wed Oct 10, 2018 8:19 pm
by JohnXenox
Siemargl
Большое спасибо за пример!
Я тут попытался перекомпилировать твой пример, в Linux и Kolibri, но не компилируется.
В Kolibri, tcc пишет
это.
Командная строка, такая:
Code: Select all
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I..\include -L..\lib -g
В Linux, tcc пишет
это.
Командная строка, такая:
Code: Select all
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I./include -L./lib -g
Компилятор для Kolibri, брал
здесь (tcc_26_180925).
Хотелось бы узнать, что я делаю не так.
Re: Общие вопросы по языку Си.
Posted: Wed Oct 10, 2018 8:47 pm
by Siemargl
JohnXenox wrote:Siemargl
Большое спасибо за пример!
Я тут попытался перекомпилировать твой пример, в Linux и Kolibri, но не компилируется.
В Kolibri, tcc пишет
это.
Командная строка, такая:
Code: Select all
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I..\include -L..\lib -g
В Linux, tcc пишет
это.
Командная строка, такая:
Code: Select all
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I./include -L./lib -g
Компилятор для Kolibri, брал
здесь (tcc_26_180925).
Хотелось бы узнать, что я делаю не так.
http://board.kolibrios.org/viewtopic.php?p=71753#p71753
про линух - непонятно почему по другому
Re: Общие вопросы по языку Си.
Posted: Wed Oct 10, 2018 9:16 pm
by JohnXenox
Siemargl
Заменил строку "
#include "kos32sys1.h" на "
#include "kos32sys0.h".
Теперь, пример в Колибри компилируется без ошибок, но не запускается получившийся бинарник.
Доска отладки ничего не показывает.
Re: Общие вопросы по языку Си.
Posted: Wed Oct 10, 2018 10:04 pm
by Siemargl
А скомпилированный мной - он тоже в архиве - запускает?
Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Re: Общие вопросы по языку Си.
Posted: Wed Oct 10, 2018 11:48 pm
by JohnXenox
Siemargl wrote:А скомпилированный мной - он тоже в архиве - запускает?
Твой бинарник запускается.
Siemargl wrote:Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Да, чего-то про кнопочку забыл.
Вот скрин:
Re: Общие вопросы по языку Си.
Posted: Thu Oct 11, 2018 11:54 am
by Siemargl
JohnXenox wrote:Siemargl wrote:А скомпилированный мной - он тоже в архиве - запускает?
Твой бинарник запускается.
Siemargl wrote:Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Да, чего-то про кнопочку забыл.
Вот скрин:
Версию компилятора (libck) обновил
до tcc_26_180925.zip?
Приложи сюда твой бинарник и .dbg файл, если версия новая
Re: Общие вопросы по языку Си.
Posted: Thu Oct 11, 2018 9:00 pm
by JohnXenox
Я же уже написал выше...
JohnXenox wrote:Компилятор для Kolibri, брал здесь (tcc_26_180925).
Там же и
libck.a находится. Или надо было отдельно, что-то закачивать или перекомпилировать?
Чтобы было понятнее, что я делал, по шагам:
1. Скачал
tcc_26_180925.zip.
2. Разархивировал файл tcc_26_180925.zip.
3. Удалил файл kos32-tcc.exe (в Колибри, не требуется) в папке tcc_26_180925.
4. Забросил в папку tcc_26_180925, всё содержимое папки libimgdemo.
5. Удалил папку libimgdemo.
6. Папку tcc_26_180925, переименовал в libimgdemo.
7. Добавил shell скрипт для компиляции. Командную строку, уже публиковал выше.
8. Бросил папку на раздел для Колибри.
9. Загрузился в Колибри.
10. Открыл файловый менеджер и перешёл в директорию libimgdemo.
11. Запустил shell скрипт, для перекомпиляции.
12. Попробовал запустить бинарник. Бенарник не запустился.
13. Всё.
Siemargl wrote:Приложи сюда твой бинарник и .dbg файл.
Приложил.
Re: Общие вопросы по языку Си.
Posted: Fri Oct 12, 2018 12:24 pm
by Siemargl
JohnXenox wrote:Spoiler:
Я же уже написал выше...JohnXenox wrote:Компилятор для Kolibri, брал здесь (tcc_26_180925).
Там же и libck.a находится. Или надо было отдельно, что-то закачивать или перекомпилировать?
Чтобы было понятнее, что я делал, по шагам:
1. Скачал tcc_26_180925.zip.
2. Разархивировал файл tcc_26_180925.zip.
3. Удалил файл kos32-tcc.exe (в Колибри, не требуется) в папке tcc_26_180925.
4. Забросил в папку tcc_26_180925, всё содержимое папки libimgdemo.
5. Удалил папку libimgdemo.
6. Папку tcc_26_180925, переименовал в libimgdemo.
7. Добавил shell скрипт для компиляции. Командную строку, уже публиковал выше.
8. Бросил папку на раздел для Колибри.
9. Загрузился в Колибри.
10. Открыл файловый менеджер и перешёл в директорию libimgdemo.
11. Запустил shell скрипт, для перекомпиляции.
12. Попробовал запустить бинарник. Бенарник не запустился.
13. Всё.Siemargl wrote:Приложи сюда твой бинарник и .dbg файл.
Приложил.
Ты очень помог - оказывается в архив не попали два важных исправления из SVN
заодно откатил kos32sys1.h до рабочей
обновись до tcc_26_181012 - там же
Re: Общие вопросы по языку Си.
Posted: Fri Oct 12, 2018 12:41 pm
by Leency
На SVN/ISO версия работая?
Re: Общие вопросы по языку Си.
Posted: Fri Oct 12, 2018 12:57 pm
by Siemargl
Leency wrote:На SVN/ISO версия работая?
исходники верные, но в автосборке его нет.
там нужно собрать компилятор (скрипт вижу), libck.a /start.o и еще и поскладывать всякие include и примеры
Re: Общие вопросы по языку Си.
Posted: Fri Oct 12, 2018 4:27 pm
by JohnXenox
Siemargl wrote:
Ты очень помог - оказывается в архив не попали два важных исправления из SVN
заодно откатил kos32sys1.h до рабочей
обновись до tcc_26_181012 - там же
Ясно. Щя обновлюсь.