Конвертер формата для динамических библиотек
Posted: Sat Feb 21, 2009 3:29 pm
Программа переводит dll'ку PE-формата в динамическую библиотеку COFF-формата, используемого в Колибри.
Программа осуществляет только перекодирование форматов, так что предназначена исключительно для завершающего шага компиляции библиотеки, разрабатываемой для Колибри вместо того, чтобы заставлять компилятор генерировать COFF (что может быть нетривиально). Применять её к обычным библиотекам, рассчитанным на винду и соответственно импортирующих кучу функций из системных dll типа kernel32.dll бессмысленно. Экспорты в стиле Колибри берутся из экспортируемых функций PE-файла (так что экспортируемые функции следует оформлять как обычно для используемого компилятора, а не через массив EXPORTS). Ничего не гарантирую, но вроде работает.
При запуске без параметров попросит ввести имя преобразуемой библиотеки в консоли. При запуске с одним параметром (можно прописать как ассоциацию на расширение .dll в файловых менеджерах) конвертит этот файл, создавая новый с тем же именем и расширением .obj. При запуске с двумя параметрами первый считается именем входного файла, второй - именем выходного.
http://diamondz.land.ru/pe2coff http://diamond.kolibrios.org/prg/pe2coff
Программа осуществляет только перекодирование форматов, так что предназначена исключительно для завершающего шага компиляции библиотеки, разрабатываемой для Колибри вместо того, чтобы заставлять компилятор генерировать COFF (что может быть нетривиально). Применять её к обычным библиотекам, рассчитанным на винду и соответственно импортирующих кучу функций из системных dll типа kernel32.dll бессмысленно. Экспорты в стиле Колибри берутся из экспортируемых функций PE-файла (так что экспортируемые функции следует оформлять как обычно для используемого компилятора, а не через массив EXPORTS). Ничего не гарантирую, но вроде работает.
При запуске без параметров попросит ввести имя преобразуемой библиотеки в консоли. При запуске с одним параметром (можно прописать как ассоциацию на расширение .dll в файловых менеджерах) конвертит этот файл, создавая новый с тем же именем и расширением .obj. При запуске с двумя параметрами первый считается именем входного файла, второй - именем выходного.