Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Apr 23, 2019 7:51 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 35 posts ]  Go to page Previous 1 2 3 Next
Author Message
PostPosted: Wed Oct 03, 2018 7:30 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
akron1, Siemargl Cпасибо за ответы. Буду разбираться.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Thu Oct 04, 2018 5:57 am 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
В 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


Last edited by Siemargl on Tue Oct 09, 2018 10:14 pm, edited 1 time in total.

Top
   
PostPosted: Sat Oct 06, 2018 3:20 am 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Siemargl Спасибо. Гляну, попробую, может чего выйдет. Но моих познаний в Си, боюсь не хватит. :mrgreen:

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Tue Oct 09, 2018 10:16 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
JohnXenox wrote:
Siemargl Спасибо. Гляну, попробую, может чего выйдет. Но моих познаний в Си, боюсь не хватит. :mrgreen:

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

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


Attachments:
libimgdemo.zip [122.04 KiB]
Downloaded 37 times
Top
   
PostPosted: Wed Oct 10, 2018 8:19 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Siemargl
Большое спасибо за пример!

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

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

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

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

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Wed Oct 10, 2018 8:47 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
JohnXenox wrote:
Siemargl
Большое спасибо за пример!

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

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

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

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

viewtopic.php?p=71753#p71753

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


Top
   
PostPosted: Wed Oct 10, 2018 9:16 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Siemargl
Заменил строку "#include "kos32sys1.h" на "#include "kos32sys0.h".
Теперь, пример в Колибри компилируется без ошибок, но не запускается получившийся бинарник.
Доска отладки ничего не показывает. :(

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Wed Oct 10, 2018 10:04 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
А скомпилированный мной - он тоже в архиве - запускает?

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


Top
   
PostPosted: Wed Oct 10, 2018 11:48 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Siemargl wrote:
А скомпилированный мной - он тоже в архиве - запускает?
Твой бинарник запускается. :roll:
Siemargl wrote:
Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Да, чего-то про кнопочку забыл. :mrgreen:

Вот скрин:
Image

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Thu Oct 11, 2018 11:54 am 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
JohnXenox wrote:
Siemargl wrote:
А скомпилированный мной - он тоже в архиве - запускает?
Твой бинарник запускается. :roll:
Siemargl wrote:
Открой board - туда пишутся ошибки и вылеты - там если что есть кнопочка режима
Да, чего-то про кнопочку забыл. :mrgreen:

Вот скрин:
Image

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

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


Top
   
PostPosted: Thu Oct 11, 2018 9:00 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Siemargl wrote:
Версию компилятора (libck) обновил до tcc_26_180925.zip?
Я же уже написал выше...
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 файл.
Приложил.


Attachments:
libimgdemo_dbg.tar.gz [24.27 KiB]
Downloaded 33 times

_________________
The Glass is Always Half Full! :mrgreen:
Top
   
PostPosted: Fri Oct 12, 2018 12:24 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
JohnXenox wrote:
Spoiler: Show
Siemargl wrote:
Версию компилятора (libck) обновил до tcc_26_180925.zip?
Я же уже написал выше...
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 - там же


Top
   
PostPosted: Fri Oct 12, 2018 12:41 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 4983
На SVN/ISO версия работая?

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Oct 12, 2018 12:57 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
Leency wrote:
На SVN/ISO версия работая?
исходники верные, но в автосборке его нет.
там нужно собрать компилятор (скрипт вижу), libck.a /start.o и еще и поскладывать всякие include и примеры


Top
   
PostPosted: Fri Oct 12, 2018 4:27 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Siemargl wrote:
Ты очень помог - оказывается в архив не попали два важных исправления из SVN

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

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

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 35 posts ]  Go to page Previous 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited