J'utilise Visual Studio 2013 Preview, bien que je sois sûr de l'avoir vu dans des versions antérieures. Lors de la création d'un nouveau projet à l'aide de l'assistant, je sélectionne C++, Win32 Console Application, et il y a une option pour activer les contrôles du cycle de vie du développement de la sécurité sur mon projet. Quelqu'un pourrait-il m'expliquer ce que cette option fait exactement à mon code/projet ?
Réponses
Trop de publicités?En /sdl
Le commutateur est décrit aquí . Il transforme certains avertissements en erreurs, ce qui n'affecte pas votre code. De plus, il applique la règle /GS
vérifier de manière plus agressive.
N'en attendez pas trop. Le SDL de Microsoft est en fait une solution de contournement pour la programmation en C des années 1980. Même si vous utilisez le C++ du 20e siècle, vous n'en avez pas besoin. Par exemple operator+(std::string, std::string)
est à la fois sûr et portable. En revanche, la solution SDL de Microsoft n'est ni portable, ni sûre. /GS
consiste à détecter les erreurs dans la gestion des chaînes de caractères en C au moment de l'exécution et à interrompre le programme, ce qui limite les conséquences mais ne le rend pas sûr.
Le Microsoft Security Development Lifecycle est un processus de développement logiciel utilisé et proposé par Microsoft pour réduire les coûts de maintenance des logiciels et augmenter leur fiabilité en ce qui concerne les bogues liés à la sécurité des logiciels.
Ceux-ci peuvent s'avérer utiles :
http://msdn.microsoft.com/en-us/library/Windows/desktop/84aed186-1d75-4366-8e61-8d258746bopq.aspx