Лучшие ресурсы для преобразования C / C ++ DLL-заголовков в Delphi? - PullRequest
13 голосов
/ 19 сентября 2008

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

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

Ответы [ 7 ]

14 голосов
/ 01 ноября 2009

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

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

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

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

Другие его статьи на эту тему:

6 голосов
/ 19 сентября 2008

Артикул в Дельфи-уголке Руди

2 голосов
/ 26 сентября 2012

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

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

2 голосов
/ 31 октября 2009

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

2 голосов
/ 19 сентября 2008

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

1 голос
/ 19 сентября 2008

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

{$ MINENUMSIZE 4}

1 голос
/ 19 сентября 2008

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

...