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

StackOverflow https://stackoverflow.com/questions/100596

  •  01-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

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

Другие советы

Статья в Delphi Corner Руди

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

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

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

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

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

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

{$MINENUMSIZE 4}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top