Страности gcc

Тема в разделе "WASM.NT.KERNEL", создана пользователем AntiB, 10 мар 2008.

  1. AntiB

    AntiB New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2007
    Сообщения:
    393
    Доброе время суток!
    Не знаю или туда написал, но так как файл должен работать на 0-кольце – думаю суда. Суть вопроса:
    Использую gcc для компилирование но есть багги. Пишу:
    gcc –c –DBUILD_DLL –file.c –o file.o –nostdlib –I..path\to\include\ - ffreestanding –fno-buitln –fno-exceptions –finline –fomit-frame-pointre
    gcc –shared –o file.dll –out-implib file.o –nostdlib –I..path\to\include\ - ffreestanding –fno-buitln –fno-exceptions –finline –fomit-frame-pointre
    всё работает но, file.dll – большой, у него почему-то есть секция импорта(пустая) + после таблицы секций есть диапазон в размере 0х200 – пустой… експорт какой-то не верной вот:
    «_Z7funct» – почему так он називаеться, если:

    file.h
    Код (Text):
    1. #ifdef BUILD_DLL
    2.     #define export __declspec(dllexport)
    3. #else
    4.     #define export __declspec(dllimport)
    5. #endif
    6.  
    7. export void func(void);
    file.cpp
    Код (Text):
    1. #include “file.h”
    2.  
    3. export void func(void)
    4. {
    5.  
    6. }
    может нужно верные параметры указать?

    Заранее спасибо
     
  2. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
    с этим не пробывал?
    -s --strip-all Remove all symbol and relocation information
     
  3. JamesB

    JamesB New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    66
    > но так как файл должен работать на 0-кольце – думаю суда

    это как? ))

    Насчет файл большой и тп - просто gcc не подходит для "хэк-быдлокодинга", когда там извращениями всякими пытаются сделать маленький размер и т.п. .. gcc скорей больше подходит для серьезных разработок, так же серьезно спроэктированых, где нужно четкое соответствие стандарту...
    Насчет экспорта - хм, надо подумать...
     
  4. AntiB

    AntiB New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2007
    Сообщения:
    393
    KiNDeR
    Хорошо было б - но мне нада таблица релоков, так как ето dll - кстати как ее прописать в настройках чтобы она создавалась... просто тока начал работать с gcc - многого незнаю

    JamesB
    ето типа я пишу для работы в своей ОС, ети файлы будуть работать в 0-кольце!
     
  5. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    JamesB
    Да, в gcc усилия разработчиков смещёны в сторону соответствия стандарту, но, по видимому, в ущерб оптимизации.
    Лично я не понимаю, зачем заморачиваться поддержкой черновика C++0x, когда остаются нерешёнными более насущные проблемы, скажем IPO, PGO оптимизации (в терминологии Интела).
     
  6. JamesB

    JamesB New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    66
    Хм.. А что не устраивает в оптимизации GCC то? И почему стандарт ей в ущерб идет ?