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

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

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

Ответы

Ответ 1

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

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

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

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

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

Ответ 2

Article в углу Руди Дельфы

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

{$ MINENUMSIZE 4}