Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 07, 2019 8:56 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 231 posts ]  Go to page Previous 17 8 9 10 1116 Next
Author Message
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 12:05 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Что значит последнюю? Последняя на SVN лежит. Собрать что ли нужно?


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 1:20 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Лучше обьяснить, если ток на свн, как собирать их.

_________________
я лишь учусь


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:05 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
1) Скачать исходники с SVN
2) Прочитать readme
3) Установить menuetlibc
4) Ввести make в папке с исходниками
5) Увидеть, что компиляция не удалась, так как в системе отсутствует nasm для сборки файла console.asm
6) Установить nasm
7) Увидеть, что файл не собирается nasm.
8) Собрать файл console.asm c помощью fasm командой
fasm console.asm console.o
9) Снова ввести make
10) Увидеть, что линковка не удалась, потому что точка входа в программу (main) не найдена, и такие же проблемы с макросами va_start и va_end
11) Обнаружить, что тело программы называется app_main вместо main, переименовать в main, добавить макросы va_start и va_end
12) Снова дать make
13) Получить сообщение о том, что sprintf не работает
14) Вкомпилировать свой sprintf (из dietlibc, например) в проект
15) Ввести make и наконец-то получить бинарник ktcc.kex
16) Перейти в папку c библиотекой
17) Дать make и быстренько ее собрать
18) Скопировать libck.a, simple.c (из примеров), папку include и ktcc куда-нибудь в доступное место
19) скомпилировать бинарник командой ktcc simple.c libck.a -o program
20) Убедиться, что скомпиленная program не работает
21) Еще раз прочитать readme, и убедиться, что забыл собрать файл start.o
22) ktcc simple.c start.o libck.a -o program
23) ....
24) PROFIT!!!

При желании, взять библиотеку libc.a из menuetlibc, и ее заголовочные файлы. Использовать их. Не забыть изменить start.o, чтобы работл argc/argv


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:10 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Дело двух минут. :)


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:28 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Действительно.. Ток не минут, а часов, а то и дней. Может всеже кто то более осведомленный в этом деле скомпилит ее?!?

_________________
я лишь учусь


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:32 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Ну так я же рассказал, как я это дело за 2 минуты собрал. Полная инструкция. У меня бинарник на Linux, а я сейчас с Windows, и перезагрузиться возможности не имею. Так что придется потерпеть до вечера.


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:33 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
ради этого стоит и подождать

_________________
я лишь учусь


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:43 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
А не проще ли исправить заведомо неправильные моменты на СВН и данный пост добавить в начало README?

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


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:52 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
http://websvn.kolibrios.org/filedetails ... readme.txt
Отсутствие макросов и sprintf - это баг melibc, и я о нем говорил. Но я не уверен, что моя версия melibc лучше, так как в ней нет printf (все равно не работает же). Заголовок исправить - это две минуты.


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 4:54 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Ситуация осложняется тем, что tcc бородатый, а на свежую версию обновлять - это я не знаю, как.


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 8:49 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Как и обещал, держите.
ktcc.kex, libck.a и start.o нужно держать в одной папке. Скрипт и примеры в комплекте. Если кладете include-файлы куда-то далеко, путь к ним нужно указывать. Информации об ошибках, к сожалению, не выводится - возможно, какой-то баг вызова console, или так и планировалось - не знаю, я только собирал.


Attachments:
mini_c_dev.zip [89.32 KiB]
Downloaded 4153 times
Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 9:02 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
И бонус.
ktcc + menuetlibc + libz + libfreetype + libSDL + libpng + libjpg и так далее. Инклуды прилагаются. Пример binclock тоже. Компилировать так:
ktcc.kex binclock.c libs/libc.a -o prog

Убедитесь, что доступ на запись для жесткого диска разрешен. А то я долго не мог понять, почему не работает (QEMU позволял создать файл, но не позволял его прочитать в режиме virtual fat).

upd: как я уже говорил, argc/argv не работают, обращение к ним приводит к крэшу программы. Чтобы этого не было, нужно start.asm из исходников ktcc привести к crt0.asm из libc, я так полагаю. А может и еще какие причины есть.


Attachments:
maxi_c_dev.zip [2.89 MiB]
Downloaded 266 times
Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Sun Nov 25, 2012 9:09 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Спасибо.

_________________
я лишь учусь


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Mon Nov 26, 2012 3:42 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
binclock скомпилировалась, но не запускается

_________________
я лишь учусь


Top
   
 Post subject: Re: Tiny C Compiler
PostPosted: Mon Nov 26, 2012 9:45 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Попробуй сохранить binclock на rd:
ktcc.kex binclock.c libs\libc.a -o /rd/1/clock


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 231 posts ]  Go to page Previous 17 8 9 10 1116 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