2009-09-22 6 views
1

Есть ли все равно, чтобы писать dll в linux? Должен ли я устанавливать окна для записи DLL в Linux? Сейчас один из моих курсов требует, чтобы я написал dll для этого.в любом случае писать dll в linux?

+2

DLL - это библиотека, специфичная для Windows, в то время как Linux использует совместно используемые объекты. Хотя с Wine вы можете использовать DLL Windows, когда пишете приложение Windows, которое также запускается под Linux. Вы создаете приложения Windows для Wine/Linux? –

+2

* «Один из моих курсов довольно заторможен и требует, чтобы я написал dll» * Стоит учитывать, что когда ваша курсовая работа требует от вас сделать что-то, что выглядит глупо, есть шанс (но не гарантия), что учитель что-то знает вы этого не делаете. – dmckee

+0

«Сейчас один из моих курсов довольно отсталый» Я люблю, когда люди называют других (или вещей) глупыми, используя неправильную грамматику и слова типа «отсталые». –

ответ

0

Не совсем. Построение любого вида исполняемого файла, предназначенного для ОС «А» при использовании ОС «В», представляет собой процесс, широко известный как кросс-компиляция . В этом partciluar случае вам понадобится кросс-компилятор, работающий в Linux, но предназначенный для Windows. Я не знаю какого-либо продавца, продающего такой продукт.

+1

Не будь глупым. GCC/mingw был великолепным кросс-компилятором win32 уже много лет. Он отлично работает, он создается из коробки на каждой платформе, поддерживаемой gcc, и, откровенно говоря, интеграция инструментальных средств лучше, чем продукты Microsoft для множества целей. Это не «простое» решение (я думаю, что предыдущий ответ об общих библиотеках может быть лучше подходит), но это, конечно, не невозможно. –

1

Множество людей приближаются к правильному ответу, но не предоставляют его: gcc может создавать файлы win32 PE/COFF без проблем и, конечно же, всегда может быть построена как кросс-компилятор на любой платформе, на которую он может нацеливаться. Порт binutils предназначен для файлов Windows .exe и .dll изначально, и есть утилита «dlltool» для обработки крайних случаев, когда метафоры Unix и Windows различаются.

Кроме того, проект «mingw32» предоставляет набор библиотек ссылок и заголовочных файлов для создания приложений C против API win32. Они также прекрасно устанавливаются на любом Unix.

Вот сайт, который я нашел после быстрого google с instructions for building the toolchain.