Привет всем!
Интересует, существуют ли утилиты для автоматической генерации С-headers вокруг С++ библиотеки.
Например, на входе имеем код:
class CSomeClass
{
...
public:
CSomeClass( int x, const std::string &sz );
void DoSomething() const;
};
Сообщаем утилите, что хотим сгенерировать обертку для CSomeClass.
И на выходе имеем h-файл примерно в таком духе:
#ifndef SOMECLASS_WRAPPER_H
#include "MyPlatform.h"
#ifdef __cplusplus
extern "C" {
#else
typedef int bool;
#endif
typedef struct prefix_SomeClass prefix_SomeClass;
struct prefix_SomeClass;
IMPORT_OR_EXPORT(prefix_SomeClass*) prefix_CreateSomeClass( int x, char const* sz );
IMPORT_OR_EXPORT(void) prefix_DeleteSomeClass( prefix_SomeClass* );
IMPORT_OR_EXPORT(void) prefix_DoSomething( prefix_SomeClass const* );
#ifdef __cplusplus
}
#endif
#define SOMECLASS_WRAPPER_H
#endif
и cpp-файл, в котором настоящая работа с классом CSomeClass обернута в эти функции.
Написание подобных оберток — работа обезъянья, и по идее, должна автоматизироваться. Однако в Гугле ничего похожего я не нашел.
Если вы знаете такие утилиты, подскажите, пожалуйста.