JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: C++ ユーザーズガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I C++ コンパイラ

1.  C++ コンパイラの紹介

2.  C++ コンパイラの使用方法

3.  C++ コンパイラオプションの使い方

パート II C++ プログラムの作成

4.  言語拡張

5.  プログラムの編成

6.  テンプレートの作成と使用

7.  テンプレートのコンパイル

8.  例外処理

9.  プログラムパフォーマンスの改善

10.  マルチスレッドプログラムの構築

パート III ライブラリ

11.  ライブラリの使用

12.  C++ 標準ライブラリの使用

13.  従来の iostream ライブラリの使用

14.  ライブラリの構築

14.1 ライブラリとは

14.2 静的 (アーカイブ) ライブラリの構築

14.3 動的 (共有) ライブラリの構築

14.4 例外を含む共有ライブラリの構築

14.5 非公開ライブラリの構築

14.6 公開ライブラリの構築

14.7 C API を持つライブラリの構築

14.8 dlopen を使って C プログラムから C++ ライブラリにアクセスする

パート IV 付録

A.  C++ コンパイラオプション

B.  プラグマ

用語集

索引

14.7 C API を持つライブラリの構築

C++ で作成されたライブラリを C プログラムから使用できるようにするには、C API (アプリケーションプログラミングインタフェース) を作成する必要があります。そのためには、エクスポートされるすべての関数を extern "C" にします。ただし、これができるのは大域関数だけで、メンバー関数にはできません。

C インタフェースライブラリで C++ の実行時サポートを必要とし、しかも cc とリンクしている場合は、C インタフェースライブラリを使用するときにアプリケーションも libCrun (標準モード) にリンクする必要があります。(C インタフェースライブラリで C++ 実行時サポートが不要の場合は、libCrun とリンクする必要はありません。)リンク手順は、アーカイブされたライブラリと共有ライブラリでは異なります。

アーカイブされた C インタフェースライブラリを提供するときは、ライブラリの使用方法を説明する必要があります。

共有 C インタフェースライブラリを提供するときは、ライブラリの構築時に libCrun と依存関係を作る必要があります。共有ライブラリの依存関係が正しければ、ライブラリを使用するときに -lCrun をコマンドに追加する必要はありません。

さらに、C++ 実行時ライブラリにもまったく依存しないようにするには、ライブラリソースに対して次のコーディング規則を適用する必要があります。