0

Oracle 10gと を使用している 1 つのプロジェクトは初めてですC++。への接続にDBは、 を使用していPro*cます。そのコードをチェックしていたときに、 とはまったく関係のない 1 行を見つけましたC++

#define SQLCA_STORAGE_CLASS extern

私はそれをグーグルで検索し、Oracleドキュメントhttp://docs.oracle.com/cd/B10501_01/appdev.920/a97269/pc_09err.htmを見つけました...

シンボル SQLCA_STORAGE_CLASS が定義されている場合、SQLCA はこのストレージ クラスを持つように定義されます。例えば:

#define SQLCA_STORAGE_CLASS extern

will define the SQLCA as an extern.

だから私の質問...

  1. その行の正確な意味は何ですか?
  2. ドキュメントによると#define、ストレージを提供する機能を持っていることができますか?
  3. C/C++これをコードのトリックとして使用できますか?

C/C++この質問のプレゼンテーションが良くないことはわかっていますが、これをコードのトリックとして使用できることを本当に知りたいです。

EDIT : .cpp ファイルの開始

#pragma warning(disable:4786)
#define SQLCA_STORAGE_CLASS extern
#include <sqlda.h>
#include <sqlca.h>
#include <sys/time.h>

注 : ここにタグを追加したいのですPro*Cが、見つかりませんでした。そのためのタグを 1 つ作成してください。

4

4 に答える 4

0

ここでは、インクルードされた「oraca.h」ヘッダーで、グローバルsqlcaが外部として表示されることを意味します。その結果、別の場所で静的に宣言する必要があります。

于 2013-10-09T12:47:46.490 に答える