Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт сен 20, 2018 1:59 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 75 сообщений ]  На страницу Пред. 1 2 3 4 5
Автор Сообщение
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн авг 09, 2010 12:59 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Со второй попытки собрал под убунтой 10.04 menuetlibc, gcc 4.4.3
Бинарные часики собрались и работают, однако...
Собираю пример из hll.htm, получаю

Код:
/home/sourcerer/linuxtools/mgcc main.c main.o  
main.c: In function ‘draw_window’:
main.c:14: warning: passing argument 4 of ‘__menuet__write_text’ discards qualifiers from pointer target type
/home/sourcerer/include/menuet/os.h:20: note: expected ‘char *’ but argument is of type ‘const char *’
/home/sourcerer/linuxtools/mld demo main.o   -n -Map demo.map
ld: cannot find -lc
make: *** [demo] Ошибка 1


если не трудно, наставьте на путь истинный, и да пребудет с вами Сила :)


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн авг 09, 2010 10:01 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3951
А если добавить -nostdlib ?


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Вт авг 10, 2010 10:34 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Так ведь использую makefile такой же, как и binclock... Вызываются соответсвенно mgcc, mld - где уже есть и nostdinc, и nostdlib.
Сейчас вот выдает
Код:
/home/sourcerer/me/lib/libc.a(crt1.o): In function `__crt1_startup':
crt1.c:(.text+0x37): undefined reference to `main'
make: *** [demo] Ошибка 1


Буду разбираться, чем отличается код binclock от стандартного примера...

upd: о_О а в нем нет main()..


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Вт авг 10, 2010 10:45 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Код из статьи diamond'а... Действительно, main() нет. После переименования app_main в main все отлично собралось и даже работает.

Код:
#include <menuet/os.h>

const char header[] = "HelloWorld test";
const char string[] = "Hello, World!";

void draw_window(void)
{
   // start redraw
   __menuet__window_redraw(1);
   // define&draw window
   __menuet__define_window(10,40,150,50,
      0x33FFFFFF,0,(__u32)header);
        // display string
        __menuet__write_text(30,10,0x80000000,string,0);
        // end redraw
        __menuet__window_redraw(2);
}

void app_main(void)
{
   draw_window();
   for (;;)
   {
      switch (__menuet__wait_for_event())
      {
      case 1:
         draw_window();
         break;
      case 2:
         // key pressed, read it and ignore
         __menuet__getkey();
         break;
      case 3:
         // button pressed; we have only one button, close
         return;
      }
   }
}



Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Вт авг 10, 2010 9:25 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
В исходной menuetlibc главная функция звалась не main(), а app_main(). В Колибри-версии в некоторый момент развития главную функцию таки переименовали, на binclock, входящей в комплект поставки, это отразилось, а пример из статьи не обновлялся.

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Чт июн 28, 2012 5:31 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1611
Я прилагаю генератор проектов для VS2010. Генератор спрашивает имя проекта, в котором могут быть только латинские буквы, цифры и дефисы, и путь к fasm, который используется на конечной стадии компиляции. Генератор создаёт в текущей папке подпапку с именем, совпадающим с именем проекта, в которой создаёт файл .sln для студии, основной файл .cpp с примером HelloWorld'а и подпапку с примитивной библиотекой, взятой откуда-то с svn и немного доработанной.

UPD от 13 Nov 2014: минус RTTI в настройках проекта, исправляет проблему с виртуальными функциями.


Вложения:
Комментарий к файлу: Генератор.
makevcproj.7z [13.81 КБ]
119 скачиваний
Комментарий к файлу: Исходные тексты генератора.
makevcproj_sources.7z [16.89 КБ]
112 скачиваний

_________________
Сделаем мир лучше!
Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 5:27 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4548
Обновил статью диамонда: http://kolibri-n.org/inf/hll/hll.php

Теперь во всех браузерах работают внутренние ссылки, есть подсветка кода, добавил генератор проектов для VS2010 от CleverMouse, обновил ссылки (может пока не все), добавил ссылки на LUA и Pyton.

Хочу ещё добавить инфу о FreeBasic и Delphi. Про newlib.

Пожалуйста, укажите на неточности в статье, я постараюсь исправить.

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


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 7:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 771
Статью всю не читал, но бросилось в глаза то что fasm там старых версий:
под виндовсом - 1.16.14
а в Колибри - 1.16.20, хотя после того интерфейс менялся, добавлялась галочка про отладочную информацию и текстовые поля вместо того хитрого ввода что был раньше


Вложения:
fasm_1_70_03.png
fasm_1_70_03.png [ 3.79 КБ | 3932 просмотра ]
Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 8:17 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4548
Точно, спасибо.

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


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 9:41 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Цитата:
Компилятор TCC был доработан для генерации Колибри-бинарников. Также написана некоторая часть C RTL на базе функций Колибри. Исходники как самого компилятора, так и RTL доступны на svn-сервере Колибри: svn://kolibrios.org/programs/develop/metcc/trunk.
Для начала надо скомпилировать сам компилятор :) Для этого нужно что-нибудь из MinGW/cygwin/linux, где есть компилятор GCC. При наличии такового нужно в папке source сказать

gcc tcc.c -o tcc.exe

Путь другой, вдобавок tcc получается для Колибри, а не для Windows, в остальном все так же.


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 9:53 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4548
Эээ... какой путь? А где сказано, что tcc для Вин, а не Колибри?

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


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 11:27 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 185
Статья была написана до появления macro header в macros.inc. Образец кода FASM компилировавшийся на тот момент правильно, теперь застревает на "header db 'HelloWorld test',0", на что регулярно напарываются новички и из раза в раз пишут об этом на форуме. Давно бы пора поправить во всех копиях статьи до которых дотянутся руки header на title или чего-нибудь другое работоспособное.
Зы При правке придётся и скриншот поправить, где "header" виднеется


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Пн фев 25, 2013 11:51 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4548
Тоже годное замечание - исправил. Скрин FASM'a обновил. Ссылки на темы про FreeBasic и Delphi добавил. Кратко написал про newlib.

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


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Вт фев 26, 2013 1:00 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 25, 2009 4:45 pm
Сообщения: 790
В вики (для последующего омаркдаунивания).


Вернуться к началу
 Заголовок сообщения: Re: nasm, vc, gcc и другие
СообщениеДобавлено: Вт фев 26, 2013 5:06 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
SoUrcerer писал(а):
Путь другой


Leency писал(а):
Эээ... какой путь?


svn://kolibrios.org/programs/develop/ktcc//trunk/

http://websvn.kolibrios.org/listing.php ... Ftrunk%2F&


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 75 сообщений ]  На страницу Пред. 1 2 3 4 5

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB