Q_DECL_EXPORT int main(int argc, char **argv)
Q_DECL_EXPORT Stichwort
Bedeutung Was Q_DECL_EXPORT
vor int main(...)
Mittel tut?
Q_DECL_EXPORT int main(int argc, char **argv)
Q_DECL_EXPORT Stichwort
Bedeutung Was Q_DECL_EXPORT
vor int main(...)
Mittel tut?
Auszug aus QT docs:
Je nach Zielplattform, bietet Qt spezielle Makros, die die notwendigen Definitionen enthalten:
- Q_DECL_EXPORT auf die Erklärungen der Symbole hinzugefügt werden müssen, verwendet, wenn eine Zusammenstellung gemeinsame Bibliothek.
- Q_DECL_IMPORT muss zu den Deklarationen von Symbolen hinzugefügt werden, die beim Kompilieren eines Clients verwendet werden, der die gemeinsam genutzte Bibliothek verwendet.
prüfe ich habe nicht den QT-Code, aber höchstwahrscheinlich dieses Makro wird auf folgende Arten tun: von
#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)
und __declspec(dllexport)
teilen den Linker zu importieren und zu exportieren (jeweils) ein Symbol oder zu einer DLL. Dies ist Windows-spezifisch.
In Ihrem speziellen Fall könnte dieses Makro wahrscheinlich entfernt werden, da main()
höchstwahrscheinlich nicht Teil einer Bibliothek ist.
Es ist kein Schlüsselwort, es ist ein Makro, um die verschiedenen compilerspezifischen Schlüsselwörter zu kapseln, um eine Funktion als exported
zu deklarieren.
Siehe auch Q_DECL_EXPORT
und Creating Shared Libraries.
Es wird normalerweise mit Bibliotheken verwendet, um diejenigen Funktionen zu definieren, die aus der Bibliothek exportiert werden müssen, um von anderen Bibliotheken oder von ausführbaren Dateien importiert ("verwendet") zu werden.
Ich habe dies bisher nicht mit einer main
Funktion gesehen, aber das könnte eine spezielle Blackberry-Sache sein. Auf der anderen Seite verwendet dieses tutorial nicht das Makro mit der main()
Funktion entweder, so dass es wahrscheinlich entfernt werden kann.