私のプロジェクトで使用するライブラリを作成しています。その中で、ライブラリのネームスペースとcstdネームスペースにc標準ライブラリをラップして、グローバル名前空間でその機能を持たないようにしたいと考えていました。しかし、私が以前に尋ねた質問から、そして私がテストしたことから、私は#名前空間のすべてを#includeすることはできません。これを行う方法はありますか?名前空間に外部ライブラリをラップする
2
A
答えて
3
あなたはすべてを書き直す必要がない限り、私はそれを疑っています。
C言語自体には名前空間の概念がないため、C標準ライブラリが使用するすべてのものは、探しているものがグローバル名前空間に存在するという事実に依存しなければなりません。あなたは、単にあなたの#include周り名前空間を包んだ場合、それはに見てどのような名前空間を知ってないので
は、コンパイラが何かを見つけることができないだろう。
1
通常のアプローチは、第三を置くことであろうパーティーはあなたのAPIを汚染させないように実装ファイルに含めます。
myapi.hpp
void coolthing(int howcool);
myapi.cpp
#include <coollib.h>
void coolthing(int howcool)
{
coollib_coolthing(howcool);
}
関連する問題
- 1. 外部ライブラリと名前空間に関する質問
- 2. は、私はC++での名前空間の内部または外部の「名前空間を使用して」
- 3. 名前空間にメッセージ定数をラップする
- 4. 名前空間の例外
- 5. オプションのjavascriptライブラリの名前空間
- 6. 共有ライブラリとSystem.Configuration名前空間
- 7. 私の名前空間にライブラリを使用する
- 8. Clojure名前空間のjava.lang。*を除外
- 9. Pythonの:どのように外部クラスの名前空間にアクセスする
- 10. Typescript - 名前空間を別の名前空間にインポート
- 11. 'using'は名前空間内か外部にあるべきですか?
- 12. レール3名前空間リソースルーティング例外
- 13. #includeを名前空間ブロックにラップするのは良い考えですか?
- 14. 名前空間
- 15. 名前空間
- 16. 名前空間
- 17. 名前空間
- 18. 名前空間ライブラリを管理する(C#)
- 19. C++ライブラリ名前空間とC linux関数との間の名前の衝突
- 20. cdi-camelで外部OpenShift名前空間を使用する方法
- 21. 名前空間を
- 22. 名前空間の内側にあるビュー内の名前空間の外にあるレール部分をどのようにレンダリングしますか?
- 23. System.Collectionsは「システム名前空間の名前空間」ですか?
- 24. ある名前空間を別の名前空間に置き換える
- 25. Webpackがライブラリの名前空間にサブモジュールを作成しない
- 26. PHP名前空間の規則を - 時々名前空間
- 27. 汎用ライブラリの名前空間 - 個人または会社名?
- 28. 異なる名前空間から名前空間のリソースを作成する
- 29. Rails 3.1に名前空間を含める名前空間アプリケーションのHAMLビュー
- 30. angularjs名前空間