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. plt.scatter; SyntaxError:キーワード以外のキーワードargキーワード
- 2. キーワード
- 3. キーワード
- 4. キーワード
- 5. 構文エラー - キーワード以外のキーワードargキーワードの後
- 6. キーワードの後ろにないキーワードArg Python
- 7. finalキーワード
- 8. ():キーワード 'NOT'
- 9. typeキーワード
- 10. "USE" キーワード
- 11. 「スコープ」キーワード
- 12. キーワードが
- 13. は、キーワード
- 14. キーワード:メタデータ
- 15. javascriptの 'this'キーワード
- 16. VB.NETで "Overloads"キーワード
- 17. エイリアスJavaScriptのキーワード
- 18. 新しいキーワード
- 19. キーワード/タグのココアコントロール
- 20. Android Studio SVNキーワード
- 21. Groovyの 'final'キーワード
- 22. サンドボックスJavaScriptがキーワード
- 23. constキーワード位置
- 24. htaccessのMetatagキーワード?
- 25. クラスメソッドの "super"キーワード
- 26. Javaクラス・キーワード
- 27. "|" specflowフィーチャーテーブルのキーワード
- 28. ES6 js "with"キーワード
- 29. Node.js thisキーワード
- 30. コンパイルエラーthrowキーワード