Доброе время суток! Не знаю или туда написал, но так как файл должен работать на 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): #ifdef BUILD_DLL #define export __declspec(dllexport) #else #define export __declspec(dllimport) #endif export void func(void); file.cpp Код (Text): #include “file.h” export void func(void) { } может нужно верные параметры указать? Заранее спасибо
> но так как файл должен работать на 0-кольце – думаю суда это как? )) Насчет файл большой и тп - просто gcc не подходит для "хэк-быдлокодинга", когда там извращениями всякими пытаются сделать маленький размер и т.п. .. gcc скорей больше подходит для серьезных разработок, так же серьезно спроэктированых, где нужно четкое соответствие стандарту... Насчет экспорта - хм, надо подумать...
KiNDeR Хорошо было б - но мне нада таблица релоков, так как ето dll - кстати как ее прописать в настройках чтобы она создавалась... просто тока начал работать с gcc - многого незнаю JamesB ето типа я пишу для работы в своей ОС, ети файлы будуть работать в 0-кольце!
JamesB Да, в gcc усилия разработчиков смещёны в сторону соответствия стандарту, но, по видимому, в ущерб оптимизации. Лично я не понимаю, зачем заморачиваться поддержкой черновика C++0x, когда остаются нерешёнными более насущные проблемы, скажем IPO, PGO оптимизации (в терминологии Интела).