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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
14
0
13 755
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Статья в Дельфийском уголке Руди

Похоже, что это был самый популярный ресурс, но я принял ответ Мика, а не свой, поскольку он предоставил более подробную информацию.

Graza 31.03.2011 16:33

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

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

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

{$ MINENUMSIZE 4}

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

Ответ принят как подходящий

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

This article is meant for everyone who needs to translate C/C++ headers to Delphi. I want to share some of the pitfalls you can encounter when converting from C or C++. This article is not a tutorial, just a discussion of frequently encountered problem cases. It is meant for the beginner as well as for the more experienced translator of C and C++.

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

alt text
(source: rvelthuis.de)

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

К сожалению, в настоящее время этот веб-сайт не работает. Попробуйте сейчас praxis-velthuis.de/rdc/articles/articles-convert.html. Я надеюсь, что исходный сайт скоро снова заработает.

Rudy Velthuis 08.10.2015 21:36

Archive.org также сделал резервную копию: web.archive.org/web/20150222134925/http://rvelthuis.de/artic‌ les /…

Mick 10.10.2015 00:29

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

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

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