bedeutung folgender makros
-
ich hab folgende makros in stdafx.h drin. was bedeutet es
#define _SECURE_ATL 1
-
Also, ich weiß jetzt nicht, was genau es bewirkt, aber das Makro an sich definiert eine Variable _SECURE_ATL und weist ihr den Wert 1 zu. Wenn du dein Programm kompilierst, ersetzt der Präprozessor jedes Vorkommen vom _SECURE_ATL im Quellcode durch die 1 oder führt andere Präprozessoranweisungen aus (#ifdef etc.)
-
Es verändert das Verhalten einiger Funktionen.
Mit#define _SECURE_ATL 1
bekommst du einige Security-Fixes, die aber z.T. inkompatibel mit älteren ATL Versionen sind.
Mit#define _SECURE_ATL 0
bekommst du kompatibles Verhalten, das dafür z.T. Sicherheitsrisiken hat.Beispielsweise ist es mit
#define _SECURE_ATL 0
erlaubt an bestimmte Funktionen NULL Parameter zu übergeben (altes, kompatibles Verhalten), mit#define _SECURE_ATL 1
ist es dann nichtmehr erlaubt.
-
hustbaer schrieb:
Es verändert das Verhalten einiger Funktionen.
Mit#define _SECURE_ATL 1
bekommst du einige Security-Fixes, die aber z.T. inkompatibel mit älteren ATL Versionen sind.
Mit#define _SECURE_ATL 0
bekommst du kompatibles Verhalten, das dafür z.T. Sicherheitsrisiken hat.Beispielsweise ist es mit
#define _SECURE_ATL 0
erlaubt an bestimmte Funktionen NULL Parameter zu übergeben (altes, kompatibles Verhalten), mit#define _SECURE_ATL 1
ist es dann nichtmehr erlaubt.vielen dank, das ist ein guter hinweis