Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: MFC (Visual C++) ::  universal crt     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Meep Meep
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.11.2003
Beiträge: 1444
Beitrag Meep Meep Mitglied 10:34:47 12.08.2017   Titel:   universal crt            Zitieren

hallo leute

hat die ucrt fuer mich als programmierer auch irgendwelche vor/nachteile ? irgendwie finde ich keine brauchbaren infos dazu im netz.

Meep Meep
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15318
Beitrag Martin Richter Moderator 20:34:24 13.08.2017   Titel:              Zitieren

Der Vorteil ist, dass Du Dir keine Gedanken um Fixes oder Sicherheitslücken machen musst...
Und Du musst weniger ausliefern. Weil der Kern der CRT jetzt zum OS gehört.
Und das ist schon ein riesiger Vorteil.

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
Meep Meep
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.11.2003
Beiträge: 1444
Beitrag Meep Meep Mitglied 08:25:07 14.08.2017   Titel:              Zitieren

hallo,

wenn ich das richtig gelesen habe, liegen auch mallo, realloc, free... auch in der ucrt. also muesste dann auch theoretisch das erzeugen und freigeben von speicher nun ueber dll grenzen auch funktionieren. wie kann ich eigendlich ueberpruefen das wirklich die funktionen von der ucrt verwendet werden und nicht von einer anderen dll ?
wo sehe ich ueberhaupt in visual c++ 2017 das die ucrt verwendet wird ? hab da nichts in den projekteigenschaften gefunden. oder ist das voraussetzung wenn ich unter Projekteigenschaften->Allgemein->Windows-SDK-Version eine 10er version hab?

was ich auch noch suche und noch nicht fuendig geworden bin, ist eine liste aller funktionen die von der ucrt geliefert werden. das aufrufen der ucrt via GetProcAddress soll man bei der ucrt nicht machen (hab ich auf einer seite gelesen, weiß die url nicht mehr).

danke

Meep Meep
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 4568
Beitrag Th69 Mitglied 08:43:55 14.08.2017   Titel:              Zitieren

So wie ich CRT-Bibliotheksfunktionen verstehe, ersetzt die UCRT die komplette bisherige CRT.
Und es kommt wohl auf die Windows-Version an (bzw. ob überhaupt UCRT installiert ist), welche DLLs zur Laufzeit herangezogen werden: Introducing the Universal CRT.


Zuletzt bearbeitet von Th69 am 08:44:25 14.08.2017, insgesamt 1-mal bearbeitet
Meep Meep
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.11.2003
Beiträge: 1444
Beitrag Meep Meep Mitglied 11:23:56 14.08.2017   Titel:              Zitieren

nein, leider nicht die komplette. funktionen die oeffters optimiert werden sind nicht in der ucrt. sind glaub ich sogar 2-3 string-funktionen dabei
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15318
Beitrag Martin Richter Moderator 12:28:05 14.08.2017   Titel:              Zitieren

Meep Meep schrieb:
nein, leider nicht die komplette. funktionen die oeffters optimiert werden sind nicht in der ucrt. sind glaub ich sogar 2-3 string-funktionen dabei


Was meinst Du?
Natürlich können in der UCRT keine inline Funktionen enthalten sein. Das ist ja der Sinn, sonst könnten die nicht optimiert werden.

Es ist die komplette CRT, d.h. alle Funktionen, die nicht inline definiert ist.

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
Meep Meep
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.11.2003
Beiträge: 1444
Beitrag Meep Meep Mitglied 17:09:30 14.08.2017   Titel:              Zitieren

achso, wusste nicht das die funktionen inline definiert sind. hatte mich auf den text von James McNellis bezogen: https://blogs.msdn.micros ....... ducing-the-universal-crt/
Zitat:
Some of the string functions (e.g., memcpy and strstr) are part of the VCRuntime (and not the Universal CRT) because these functions are more frequently updated by our compiler team to improve their performance and to update them to take advantage of new instruction sets (e.g. SSE and AVX). These functions are in the VCRuntime largely because that makes it easier for our compiler team to continue making those improvements.
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15318
Beitrag Martin Richter Moderator 07:59:11 15.08.2017   Titel:              Zitieren

Naja. Diese Funktionen sind ja wohl auch kaum "fehleranfällig"...
Und nein: Sie sind nicht immer inline aber oft...
Deshalb sind hier dennoch auch keine "security fixes" zu erwarten...

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
C++ Forum :: MFC (Visual C++) ::  universal crt   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.