15
A
答えて
18
QT docsから
抜粋:
- Q_DECL_EXPORTをコンパイルするときに使用されるシンボルの宣言に追加する必要があります。ターゲットプラットフォームに応じて、
は、Qtは が必要な定義が含まれている特別なマクロを提供します共有ライブラリ。
- Q_DECL_IMPORTは、共有ライブラリを使用するクライアントをコンパイルするときに使用されるシンボルの宣言に追加する必要があります。
私はQTコードをチェックしていませんが、ほとんどの場合、このマクロは次の操作を行います:
#ifdef _WIN32 || _WIN64
#define Q_DECL_EXPORT __declspec(dllexport)
#define Q_DECL_IMPORT __declspec(dllimport)
#else
#define Q_DECL_EXPORT
#define Q_DECL_IMPORT
#endif
__declspec(dllimport)
と__declspec(dllexport)
(それぞれ)をインポートおよびエクスポートするためにリンカに指示記号からかDLLに。これはWindows固有のものです。
main()
はおそらくライブラリの一部ではないため、このマクロはおそらく削除される可能性があります。
6
キーワードではなく、異なるコンパイラ固有のキーワードをカプセル化して、exported
として機能を宣言するマクロです。
Q_DECL_EXPORT
およびCreating Shared Librariesも参照してください。
通常、他のライブラリや実行可能ファイルによってインポート( "使用")されるためには、ライブラリからエクスポートする必要のある関数を定義するためにライブラリと一緒に使用されます。
これまでのところmain
機能でこれを見たことはありませんが、それはブラックベリー特有のものです。一方、このtutorialは、main()
関数のマクロも使用しないため、おそらく削除できます。
関連する問題
- 1. キーワード
- 2. キーワードの後ろにないキーワードArg Python
- 3. は、キーワード
- 4. キーワード:メタデータ
- 5. Androidマーケットプレイスのキーワード
- 6. 新しいキーワード
- 7. キーワード抽出ソフトウェア
- 8. constキーワード位置
- 9. ABAPのTYPESキーワード
- 10. IDA pro 'this'キーワード
- 11. Javaクラス・キーワード
- 12. htaccessのMetatagキーワード?
- 13. 対ORキーワード
- 14. Javascript 'arguments'キーワード
- 15. varキーワードとActivator.CreateInstance?
- 16. C# 'ref'キーワード、パフォーマンス
- 17. エイリアスJavaScriptのキーワード
- 18. 'ref'キーワードとAppDomains
- 19. TypeScriptの 'const'キーワード
- 20. Javaのvolatileキーワード
- 21. クラスメソッドの "super"キーワード
- 22. キーワード/タグのココアコントロール
- 23. VB.NETで "Overloads"キーワード
- 24. サンドボックスJavaScriptがキーワード
- 25. ASP.NETテンプレートユーザーコントロール "コンテナ"キーワード
- 26. refキーワードとラッパーメソッド
- 27. phpDocumentorと@globalキーワード
- 28. javascriptの 'this'キーワード
- 29. JavaScriptのデフォルトのキーワード
- 30. androidのこのキーワード