2017-12-29 43 views
0

Entschuldigung für mein Englisch.Aus der Sicht eines Programmierneulings, ist Win32-API zum Lernen von anderen Dingen wie Universal Windows Platform/Qt/... hilfreich?

Vor zwei Monaten bin ich ein absoluter Neuling bei der Programmierung und habe einen Job gefunden, der mir die Möglichkeit gibt, C++ und MFC zu lernen. Ich möchte nicht ein Experte für MFC sein, und was ich suche, ist etwas, das mir helfen kann, mit meinem Job (MFC) fertig zu werden und für meine zukünftige Karriere hilfreich sein kann. Ich habe einige Empfehlungen gelesen, dass ein solides Verständnis der Win32-API eine wichtige Voraussetzung für MFC ist. Aber ich fand, dass Charles Petzolds Programmierung Windows so alt ist.

Also bin ich neugierig, aus der Sicht eines Neulings ist Win32 API immer noch wert, zu lernen? Oder genauer gesagt, ist Win32 API lernen hilfreich für das Lernen anderer Dinge wie Qt/UWP/Web-Programmierung/...? Gibt es eine Alternative zu Win32 API, die meinen Anforderungen entspricht? Irgendwelche Vorschläge sind willkommen. Vielen Dank!

+0

Dies ist off-topic für SO wirklich. Aber ich würde sagen, dass Sie in diesen Tagen kaum einen Job finden werden, der Win32-Kenntnisse erfordert. Trotzdem denke ich, dass ein Verständnis der zugrunde liegenden API auch dann nützlich wäre, wenn Sie mit einer übergeordneten Bibliothek programmieren. –

+1

Auch wenn Sie ein High-Level-Framework wie Qt oder .NET verwenden, müssen Sie von Zeit zu Zeit die zugrundeliegende API verwenden, um Einschränkungen des Frameworks zu umgehen oder neueste (nicht) aktuelle Betriebssystemfunktionen zu unterstützen. in den Rahmen eingewickelt. MFC ist in vielen Fällen nur ein dünner Wrapper um die Win32-API, so dass Sie ein besseres Verständnis von MFC erhalten, wenn Sie die "echte" API dahinter kennen. Manchmal ist es sogar nützlich, Testcode in die reine Win32-API zu schreiben, um MFC als Fehlerquelle zu eliminieren. – zett42

+0

Petzolds Buch ist alt. Aber auch Win32. Das Buch ist so wertvoll wie es immer war. –

Antwort

1

Ich würde sagen, ja, das Lernen der Win32-API ist lohnenswert, aber ich würde keine Karriere in der Unterstützung von C++/MFC-Anwendungen machen. Nutze diese Gelegenheit als wertvolle Trainingsübung und gehe dann weiter.

Wenn Sie die Win32-API kennen, erhalten Sie ein besseres Verständnis darüber, was unter den Abdeckungen in höheren Programmiersprachen passiert, die von Windows gehostete Anwendungen erstellen. Das aktuelle Beispiel wäre .NET (insbesondere C#), aber Visual C++/MFC, Borland Builder, Delphi usw. haben alle ihre Abhängigkeit von der Win32-API offengelegt. Win32-API-Programmierung wird Sie zu Konzepten wie der Windows-Nachricht Pumpe/Schleife, Griffe, Zeichnung, etc. enthüllen, die in anderen Sprachen abstrahiert werden.

die Windows-Nachrichtenschleife Verständnis werden Sie mit MFC helfen, die nichts anderes als ein objektorientiertes Framework in C++ geschrieben ist und mit einer Tonne von unglücklichen Makros, die die Windows-Nachrichtenschleife einzukapseln.

Die Kenntnis der Win32-API wird Ihnen in Situationen helfen, in denen Sie PInvoke von .NET benötigen. Die Kenntnis der API erleichtert das Erstellen und/oder Verstehen der Proxy-Funktionen. Dies ist in .NET Core aufgrund der plattformübergreifenden Unterstützung noch wichtiger. In früheren Versionen wurde auf einige Windows-Funktionen verzichtet. So haben Sie PInvoke in die Win32-API, um Elemente zu unterstützen, die in früheren Versionen von .NET (Pre-Core) vorhanden waren.

Es gibt viele Legacy-MFC-Anwendungen im Einsatz, daher könnte die Kenntnis dieser Bibliothek und von Visual C++ möglicherweise in Zukunft einige Türen öffnen, um diese Anwendungen zu unterstützen oder zu portieren ... für $$$.

Nehmen Sie auch David Kruglinskis Visual C++ Buch auf; Es ist sehr wertvoll beim Lernen von MFC.

Verwandte Themen