Генерация С-обертки вокруг С++ библиотеки
От: AStarFinder Россия  
Дата: 02.12.05 15:37
Оценка:
Привет всем!
Интересует, существуют ли утилиты для автоматической генерации С-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 обернута в эти функции.

Написание подобных оберток — работа обезъянья, и по идее, должна автоматизироваться. Однако в Гугле ничего похожего я не нашел.

Если вы знаете такие утилиты, подскажите, пожалуйста.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.