C++ で作成されたライブラリを C プログラムから使用できるようにするには、C API を作成する必要があります。そのためには、エクスポートされるすべての関数を extern C にします。ただし、これができるのは大域関数だけで、メンバー関数にはできません。
さらに、C++ 実行時ライブラリにもまったく依存しないようにするには、ライブラリソースに対して次のコーディング規則を適用する必要があります。
独自の大域演算子 new や delete を定義する場合を除き、new や delete を 使用しない
配列の new や delete を使用しない
例外を使用しない
RTTI を使用しない