компиляция GCC под KolibriOS

High-level languages programming questions
  • -fno-builtin-printf не помогает ?
  • -fno-builtin-printf не помогает ?
    К сожалению нет.
    KolibriOS-перспективная ос!
    Kolibri is best operation system in the world!
  • Ты из Линукс компилируешь ? У меня mingw gcc 4.4.0 и такой проблемы нет. Попробуй -nostdinc . Заголовочные файлы придётся собирать по частям.
  • Ты из Линукс компилируешь ?
    Да. У меня винда XP стала глючить на уровне ядра. Во время работы может неожиданно вылететь в перезагрузку(резко).
    Попробуй -nostdinc . Заголовочные файлы придётся собирать по частям.
    Попробую через свои инклуды. Всёравно придётся переходить от статической библиотеки к динамической.
    KolibriOS-перспективная ос!
    Kolibri is best operation system in the world!
  • Вот решил я собрать DLL для KolibriOS по тому же методу, что и библиотека pixlib.
    Собираю из Линукса GCC. Таблицу экспорта объявляю так:

    Code: Select all

    typedef struct
    {
    	char *name;
    	void *function;
    }__attribute__((packed))export_t;
    
    char szSTART[]                                           = "START";
    .
    .
    .
    export_t	EXPORTS[]__attribute__((section("EXPORT")))=
    	{
    		{szSTART,                                 start                                },
    .
    .
    .
    
    Всё компилируется. Ошибок и предупреждений нет. Но таблица экспорта не открывается в CObj и не грузиться KolibriOS. Я посмотрел объектные файлы Hex редактором.
    Вот ключевое слово в объектнике библиотеки.

    Code: Select all

    adFont szFreeFont EXPORTS     *    H    T  
    Но почему-то таблица экспорта не грузиться. Как должна размещаться таблица, чтобы она грузилась?
    KolibriOS-перспективная ос!
    Kolibri is best operation system in the world!
  • Даже, если объявлять без __attribute__((section("EXPORT"))) всёравно таблица экспорта не видна KolibriOS. Хотя таблица экспорта в объектнике есть.
    KolibriOS-перспективная ос!
    Kolibri is best operation system in the world!
  • andrew_programmer

    У тебя объектник наверное в ELF скомпилировался. Попробуй поставить кросскомпилятор.
  • Если вдруг до сих пор интересно - можете посмотреть вот это http://wiki.androidfan.ru/%D0%A1%D0%B1% ... 0%BB%D1%8F

    Хоть тут и описана сборка под андроид - но должен понятен быть принцип создания полной кросс-компиляции ( в том числе и без включения libgcc )

    Если необходимо - могу написать как то же самое сделать на tiny C compiler + dietlibc

    А для формирования нужного формата файла самый лучший вариант использовать описание структуры через ld-script
  • Who is online

    Users browsing this forum: No registered users and 2 guests