Подтвердить что ты не робот

Примеры интерфейсов C для библиотек С++?

Я в процессе написания интерфейса C для библиотеки С++, и я ищу некоторые высококачественные примеры (или лучшие практики).

Пока это выглядит довольно многообещающе: http://czmq.zeromq.org/manual:czmq

Любые другие предложения?

4b9b3361

Ответ 1

Вы можете заглянуть в Parma Polyhedra Library в качестве примера превосходного интерфейса C к хорошо написанной библиотеке С++. PPL - бесплатное программное обеспечение GPL-ed, особенно используемое внутри компилятора GCC.

Ответ 3

Если ваша библиотека С++ написана как COM в Windows. Есть инструменты для автоматического создания интерфейса C для него.

Ответ 4

Я могу предложить FTGL, который является библиотекой С++, предоставляющей интерфейс C. Вот две примеры программ, которые достигают точно такой же:

Отметим также, что FTGL использует парадигму pImpl, чтобы обеспечить двоичную совместимость между версиями. См. здесь, почему это хорошо.

Отказ от ответственности: я являюсь участником FTGL.

Ответ 6

libzmq - это своего рода странный случай, поскольку низкоуровневый API C был первоначально предназначен для того, чтобы выглядеть как сокеты POSIX, и абсолютно не объектно-ориентированный (мы сделали его более последовательным и организованным с течением времени). Между тем фактическая библиотека находится на С++.

Интерфейс С++-to-C находится в libzmq/src/zmq.cpp и состоит из множества простых функций C, которые вызывают "реальный" код на С++.

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

Я не уверен, насколько хорошо подход класса CZMQ будет сопоставляться с С++ API, если этот API явно не предназначен для сопоставления.

Отказ от ответственности: я являюсь автором большинства CZMQ.