Board.KolibriOS.org

Official KolibriOS board
It is currently Tue May 21, 2019 3:49 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 231 posts ]  Go to page Previous 110 11 12 13 1416 Next
Author Message
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 24, 2013 11:43 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1148
Unusual wrote:
а как тогда использовать BoxLib с компилятором tcc и что писать в коде?

Думаю тут лучше поможет SoUrcerer

_________________
я лишь учусь


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 24, 2013 11:49 am 
Offline

Joined: Fri Feb 15, 2013 8:23 pm
Posts: 77
Дмитрий, помогите с BoxLib, пожалуйста !


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Tue Nov 26, 2013 12:59 am 
Offline

Joined: Sun Oct 02, 2011 4:48 pm
Posts: 42
Я не специалист и не знаю поможет или нет:
примеры использования библиотек в СИ из console.obj
из box_lib.obj


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Tue Nov 26, 2013 10:08 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Всё верно, нужно взять console.obj и заменить функции console на функции box_lib. Может потребоваться объявление stdcall, дополнительных функций и использование dll.asm - модуля загрузки dll на fasm. Предлагаю посмотреть тут:
http://websvn.kolibrios.org/filedetails ... s%2Fhttp.c
Странно, почему-то в репозитарии нет dll.asm; добавлю по возможности. Он основан на dll.inc, но немного отличается - он в ELF и с экспортом.


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Fri Nov 29, 2013 1:02 am 
Offline

Joined: Sun Oct 02, 2011 4:48 pm
Posts: 42
Допустим есть некая библиотека написанная на ассемблере (хотябы теже самые console.obj
и box_lib.obj ). Как узнать как я должен вызывать эти функции на языке СИ - какие параметры нужно передавать и что эта функция возвращает, т.е. какой у функции должен быть заголовок (или у указателя)?


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Fri Nov 29, 2013 1:31 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
z525, для console.obj есть описание, например, здесь http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fprograms%2Fdevelop%2Flibraries%2Fconsole%2Fconsole_en.txt
Quote:
console.obj exports the following functions

typedef unsigned long dword; /* 32-bit unsigned integer */
typedef unsigned short word; /* 16-bit unsigned integer */

void __stdcall con_init(dword wnd_width, dword wnd_height,
dword scr_width, dword scr_height, const char* title);
[...]
void __stdcall con_exit(bool bCloseWindow);
[...]
void __stdcall con_set_title(const char* title);
[...]
void __stdcall con_write_asciiz(const char* string);
[...]


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Fri Nov 29, 2013 10:14 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
А это, батенька, смотрите в документации к библиотеке. Например,
http://websvn.kolibrios.org/filedetails ... ttp_en.txt - здесь сразу указано, какие функции и какой формат.

А вот в network.obj смотрим:
http://websvn.kolibrios.org/filedetails ... lookup.asm
Здесь параметры передаются через стек, возвращаются в eax - видим обычный stdcall. О, и правда: http://www.opennet.ru/man.shtml?topic=g ... &russian=2
Code:
int getaddrinfo(const char *node, const char *service,
                const struct addrinfo *hints,
                struct addrinfo **res);


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sat Nov 30, 2013 8:40 am 
Offline
Just Flooding

Joined: Tue Aug 06, 2013 10:46 pm
Posts: 16
[deleted by author]


Last edited by Косинус on Wed Apr 23, 2014 8:29 pm, edited 1 time in total.

Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sat Nov 30, 2013 9:58 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Держите. Work in progress. Файл tcckos.c просто внаглую скопирован из старого порта, и ещё не приведен в соответствие с остальным кодом - и не используется.


Attachments:
tcc-pe.7z [607.78 KiB]
Downloaded 135 times
Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sat Nov 30, 2013 3:10 pm 
Offline
Just Flooding

Joined: Tue Aug 06, 2013 10:46 pm
Posts: 16
[deleted by author]


Last edited by Косинус on Wed Apr 23, 2014 8:30 pm, edited 1 time in total.

Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Fri Dec 06, 2013 10:22 pm 
Offline

Joined: Sun Oct 02, 2011 4:48 pm
Posts: 42
SoUrcerer wrote:
А это, батенька, смотрите в документации к библиотеке.
0CodErr wrote:
для console.obj есть описание, например, здесь

Для console.obj описание есть а вот для box_lib.obj такого описания я не нашел. Или искал плохо? Или в этой библиотеке все функции одинаково вызываются и поэтому нет особого описания. Но что тогда за схема вызова? Это нужно как-то самому отследить читая коды функций?


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Fri Dec 06, 2013 10:47 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Там все управляется через структуры в основном. Я не особо разбирался; рекомендую проверить примеры, они реально выглядят простыми.


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Fri Dec 06, 2013 11:00 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
z525, там должно быть stdcall. Кроме lib_init. А lib_init нужна при использовании tree_list или text_editor.
Также есть примеры на ЯВУ:
XDS Modula-2/Oberon-2 compiler: viewtopic.php?f=33&t=2280#p47919
FreeBasic: viewtopic.php?f=33&t=2202#p47749


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Mar 02, 2014 10:41 pm 
Offline

Joined: Wed Oct 30, 2013 11:25 pm
Posts: 13
Как в консольном приложении, которое пишу на Tiny C, осуществить ввод с клавиатуры? Какой функцией воспользоваться и как её подключить?


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Mon Mar 03, 2014 5:52 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
http://websvn.kolibrios.org/listing.php ... 497424b518


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 231 posts ]  Go to page Previous 110 11 12 13 1416 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
Powered by phpBB® Forum Software © phpBB Limited