Лучшие ресурсы для преобразования заголовков dll C/C++ в Delphi?

Довольно подробный сайт, объясняющий трудности и решения, связанные с использованием библиотеки dll, написанной на c/c++, и преобразование заголовочного файла .h в delphi/pascal, был опубликован в списке рассылки, в котором я недавно был, поэтому я решил поделиться это и приглашайте других размещать другие полезные ресурсы для этого, будь то ссылки, инструменты преобразования или названия книг / статей.

Пожалуйста, по одному ресурсу на каждый ответ, чтобы самые популярные/лучшие ресурсы всплывали наверх.


person Community    schedule 19.09.2008    source источник


Ответы (7)


В Delphi Corner Руди у него есть отличная статья о подводных камнях преобразования C/C++ в Delphi. На мой взгляд, это необходимая информация при выполнении этой задачи. Вот описание:

Эта статья предназначена для всех, кому необходимо перевести заголовки C/C++ в Delphi. Я хочу рассказать о некоторых подводных камнях, с которыми вы можете столкнуться при конвертации с C или C++. Эта статья не учебник, а просто обсуждение часто встречающихся проблемных случаев. Он предназначен как для начинающих, так и для более опытных переводчиков C и C++.

Он также написал "Conversion Helper Package", который устанавливается в Delphi IDE и помогает конвертировать C /C++ код для Delphi:

alt text
(источник: rvelthuis.de)

Его другие соответствующие статьи по этой теме включают:

person Community    schedule 01.11.2009

Статья в Rudy's Delphi Corner

person Graza    schedule 19.09.2008
comment
Похоже, это был самый популярный ресурс, но я принял ответ Мика, а не свой собственный, поскольку он предоставил более подробную информацию. - person Graza; 31.03.2011

Кроме того, на CodeGear размещен элементарный инструмент перевода под названием CToPas (автор Урал Гунайдин).

person PatrickvL    schedule 19.09.2008

Я хотел бы выделить Jedi API Library, это перевод Windows SDK на Delphi. заголовки. Может сэкономить вам много работы, если вам нужно перевести заголовки из SDK и, конечно же, является хорошим примером преобразования!

person Community    schedule 31.10.2009

Поскольку FreePascal нацелен, среди прочего, на совместимость с Delphi, я думаю, что H2Pas тоже может быть полезен.

https://www.freepascal.org/tools/h2pas.var

person Community    schedule 26.09.2012

HeadConv от DrBob также используется довольно часто, хотя я согласен с Гразой, что ручной перевод лучше.

person PatrickvL    schedule 19.09.2008

используйте эту опцию, чтобы выравнивание байтов было таким же, как в C/C++, и тогда вам не нужно добавлять байты заполнения в структуры.

{$MINENUMSIZE 4}

person X-Ray    schedule 19.09.2008