Board.KolibriOS.org
http://board.kolibrios.org/

Общие вопросы по языку Си.
http://board.kolibrios.org/viewtopic.php?f=33&t=3550
Страница 2 из 3

Автор:  JohnXenox [ Ср окт 03, 2018 7:30 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

akron1, Siemargl Cпасибо за ответы. Буду разбираться.

Автор:  Siemargl [ Чт окт 04, 2018 5:57 am ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

В 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

Автор:  JohnXenox [ Сб окт 06, 2018 3:20 am ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Siemargl Спасибо. Гляну, попробую, может чего выйдет. Но моих познаний в Си, боюсь не хватит. :mrgreen:

Автор:  Siemargl [ Вт окт 09, 2018 10:16 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

JohnXenox писал(а):
Siemargl Спасибо. Гляну, попробую, может чего выйдет. Но моих познаний в Си, боюсь не хватит. :mrgreen:

Готов пример в приложении. Важное отличие от gcc - расположение __attrib__ в объявлениях

Оказалось чуть сложнее, чем я думал.
Но зато остальные либы будет проще импортировать

Вложения:
libimgdemo.zip [122.04 КБ]
19 скачиваний

Автор:  JohnXenox [ Ср окт 10, 2018 8:19 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Siemargl
Большое спасибо за пример!

Я тут попытался перекомпилировать твой пример, в Linux и Kolibri, но не компилируется.

В Kolibri, tcc пишет это.
Изображение
Командная строка, такая:
Код:
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I..\include -L..\lib -g
В Linux, tcc пишет это.
Изображение
Командная строка, такая:
Код:
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I./include -L./lib -g

Компилятор для Kolibri, брал здесь (tcc_26_180925).

Хотелось бы узнать, что я делаю не так.

Автор:  Siemargl [ Ср окт 10, 2018 8:47 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

JohnXenox писал(а):
Siemargl
Большое спасибо за пример!

Я тут попытался перекомпилировать твой пример, в Linux и Kolibri, но не компилируется.

В Kolibri, tcc пишет это.
Изображение
Командная строка, такая:
Код:
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I..\include -L..\lib -g
В Linux, tcc пишет это.
Изображение
Командная строка, такая:
Код:
tcc libimgdemo.c loadlibimg.o -o libimgdemo -lck -I./include -L./lib -g

Компилятор для Kolibri, брал здесь (tcc_26_180925).

Хотелось бы узнать, что я делаю не так.

viewtopic.php?p=71753#p71753

про линух - непонятно почему по другому

Автор:  JohnXenox [ Ср окт 10, 2018 9:16 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Siemargl
Заменил строку "#include "kos32sys1.h" на "#include "kos32sys0.h".
Теперь, пример в Колибри компилируется без ошибок, но не запускается получившийся бинарник.
Доска отладки ничего не показывает. :(

Автор:  Siemargl [ Ср окт 10, 2018 10:04 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

А скомпилированный мной - он тоже в архиве - запускает?

Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима

Автор:  JohnXenox [ Ср окт 10, 2018 11:48 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Siemargl писал(а):
А скомпилированный мной - он тоже в архиве - запускает?
Твой бинарник запускается. :roll:
Siemargl писал(а):
Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Да, чего-то про кнопочку забыл. :mrgreen:

Вот скрин:
Изображение

Автор:  Siemargl [ Чт окт 11, 2018 11:54 am ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

JohnXenox писал(а):
Siemargl писал(а):
А скомпилированный мной - он тоже в архиве - запускает?
Твой бинарник запускается. :roll:
Siemargl писал(а):
Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Да, чего-то про кнопочку забыл. :mrgreen:

Вот скрин:
Изображение

Версию компилятора (libck) обновил до tcc_26_180925.zip?

Приложи сюда твой бинарник и .dbg файл, если версия новая

Автор:  JohnXenox [ Чт окт 11, 2018 9:00 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Siemargl писал(а):
Версию компилятора (libck) обновил до tcc_26_180925.zip?
Я же уже написал выше...
JohnXenox писал(а):
Компилятор для 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 писал(а):
Приложи сюда твой бинарник и .dbg файл.
Приложил.

Вложения:
libimgdemo_dbg.tar.gz [24.27 КБ]
14 скачиваний

Автор:  Siemargl [ Пт окт 12, 2018 12:24 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

JohnXenox писал(а):
Спойлер: Показать
Siemargl писал(а):
Версию компилятора (libck) обновил до tcc_26_180925.zip?
Я же уже написал выше...
JohnXenox писал(а):
Компилятор для 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 писал(а):
Приложи сюда твой бинарник и .dbg файл.
Приложил.

Ты очень помог - оказывается в архив не попали два важных исправления из SVN

заодно откатил kos32sys1.h до рабочей

обновись до tcc_26_181012 - там же

Автор:  Leency [ Пт окт 12, 2018 12:41 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

На SVN/ISO версия работая?

Автор:  Siemargl [ Пт окт 12, 2018 12:57 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Leency писал(а):
На SVN/ISO версия работая?
исходники верные, но в автосборке его нет.
там нужно собрать компилятор (скрипт вижу), libck.a /start.o и еще и поскладывать всякие include и примеры

Автор:  JohnXenox [ Пт окт 12, 2018 4:27 pm ]
Заголовок сообщения:  Re: Общие вопросы по языку Си.

Siemargl писал(а):
Ты очень помог - оказывается в архив не попали два важных исправления из SVN

заодно откатил kos32sys1.h до рабочей

обновись до tcc_26_181012 - там же
Ясно. Щя обновлюсь.

Страница 2 из 3 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/