Инструмент для преобразования заголовочных файлов C (.h) в VB? - PullRequest
0 голосов
/ 19 июля 2009

Я вижу, что есть инструменты для преобразования .h в Python, Perl, D, Pascal и т. Д. Существуют ли какие-либо инструменты для VB6 или любого другого похожего на VB инструмента (например, Jabaco )?

Ответы [ 2 ]

1 голос
/ 22 февраля 2010

Как уже отмечалось в других ответах, вы можете использовать механизм преобразования программ для автоматизации генерации таких заголовков из исходного кода C.

Однако, что вам действительно нужно, это механизм трансформации программы, который уже понимает C, потому что синтаксический анализ C и знание типов являются очень сложной задачей. (Спросите парней из компилятора GNU или просто посмотрите исходный код GCC). Чистые системы преобразования (например, те, которые не имеют C-интерфейсов) будут плохо обслуживать вас, поскольку вам придется самостоятельно генерировать все эти данные таблицы символов.

DMS Software Reengineering Toolkit - это полнофункциональное преобразование программы, которое имеет полнофункциональный внешний интерфейс C , включая препроцессор, построение AST, построение таблицы символов, анализ управления и потока данных, анализ точек наведения, построение графа вызовов, ... Все эти результаты можно использовать в процесс преобразования, чтобы облегчить вашу работу.

Как и в других системах трансформации программ, существует крутая кривая обучения. Тем не менее, вам необходимо сравнить это со стоимостью а) отсутствия ответа и многократного выполнения всего этого перевода вручную, и б) стоимости создания собственного внешнего интерфейса С, и в) это значительно повышает вероятность того, что вы на самом деле получить результат, который работает. С этой точки зрения, ИМХО, это очень дешево.

0 голосов
/ 19 июля 2009

Если у вас достаточно времени, вы можете написать его самостоятельно, используя язык преобразования TXL .

Но, конечно, возникает вопрос, стоит ли уделять время изучению новых инструментов, чтобы не делать это вручную или каким-либо другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...