{"id":275851,"date":"2016-03-10T14:12:02","date_gmt":"2016-03-10T11:12:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=275851"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=275851","title":{"rendered":"\u0421\u0432\u0435\u0436\u0438\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 \u043a\u043e\u0434 Oracle VM VirtualBox"},"content":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0f1\/f27\/a1c\/0f1f27a1cdd68c9518629c46c5dd1d20.png\" align=\"left\"\/>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u2014 \u0432\u0430\u0436\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0432 \u0430\u0440\u0441\u0435\u043d\u0430\u043b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u041c\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u043a\u043e\u0434\u0443 VirtualBox \u0432\u044b\u0437\u0432\u0430\u043d \u043b\u0438\u0447\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430\u0441\u044c \u0432 2014 \u0433\u043e\u0434\u0443, \u0442\u043e\u0433\u0434\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u043a\u043e\u043b\u043e 50 \u043e\u0448\u0438\u0431\u043e\u043a \u0435\u0434\u0432\u0430 \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u043e\u0441\u044c \u0432 \u0434\u0432\u0443\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445. C \u0432\u044b\u0445\u043e\u0434\u043e\u043c Windows 10 \u0438 VirtualBox 5.0.XX, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0443\u0445\u0443\u0434\u0448\u0438\u043b\u0430\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0435\u0449\u0451 \u0440\u0430\u0437.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<p>  <a href=\"https:\/\/www.virtualbox.org\/\">VirtualBox<\/a> (Oracle VM VirtualBox) \u2014 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438: Microsoft Windows, FreeBSD, Solaris\/OpenSolaris, Linux, Mac OS X, DOS, ReactOS \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438.<\/p>\n<p>  \u0421 \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u0441\u0442\u0430\u0442\u044c\u044f\u043c\u0438 \u043e VirtualBox \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/b\/0281\/\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c Oracle VM VirtualBox. \u0427\u0430\u0441\u0442\u044c 1<\/a><\/li>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/b\/0282\/\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c Oracle VM VirtualBox. \u0427\u0430\u0441\u0442\u044c 2<\/a><\/li>\n<\/ul>\n<p>  \u041e\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0431\u043e\u043b\u0435\u0435 50 \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043c\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e PVS-Studio 5.18. \u0412 \u043d\u043e\u0432\u043e\u043c \u043e\u0442\u0447\u0451\u0442\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u044f \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0438 \u043c\u0438\u043c\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u0432\u0441\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430. \u0416\u0435\u043b\u0430\u044e\u0449\u0438\u0435 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0439\u0442\u0438 \u044d\u0442\u0438 \u043c\u0435\u0441\u0442\u0430 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 PVS-Studio \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u041f\u043e\u0441\u043b\u0435 \u043d\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u044f \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b \u043c\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u042d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e PVS-Studio) \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430. \u041e\u043f\u044b\u0442 <a href=\"http:\/\/www.viva64.com\/ru\/b\/0330\/\">\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0432 \u043a\u043e\u0434\u0435 Unreal Engine<\/a> \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u0440\u0435\u0436\u043d\u0438\u043c, \u0438 \u043d\u0430\u0447\u043d\u0443\u0442 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438. \u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 VirtualBox \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f. \u0420\u043e\u0441\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/344\/b5a\/984\/344b5a984ec7a43f570be24fa7c32ad1.png\" \/><\/div>\n<p>  \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0434 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442\u0441\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u041c\u043d\u043e\u0433\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0449\u0451 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u0415\u0449\u0451 \u043e\u0434\u043d\u0438\u043c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u0422\u0430\u043a \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 PVS-Studio, \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u0434\u0430 VirtualBox, \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0431\u043e\u043b\u0435\u0435 50 \u043d\u043e\u0432\u044b\u0445 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b. \u041e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u043e\u0432\u044b\u0445 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435.<\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Oracle VM VirtualBox \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"http:\/\/www.viva64.com\/ru\/pvs-studio\/\">PVS-Studio<\/a> \u0432\u0435\u0440\u0441\u0438\u0438 6.02.<\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u043c\u0443-\u0442\u043e \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0432\u0438\u0437\u0438\u0438:  <\/p>\n<pre><code class=\"cpp\">Checked out external at revision 2796. Checked out revision 59777.<\/code><\/pre>\n<h2>\u0423\u043f\u0440\u044f\u043c\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438<\/h2>\n<p>  \u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0440\u0430\u043d\u044c\u0448\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430. \u0418 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043d\u043e\u0432\u043e\u043c \u043a\u043e\u0434\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043f\u0438\u0441\u0430\u043b \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a.<\/p>\n<blockquote><p><a href=\"http:\/\/www.viva64.com\/ru\/d\/0110\/\">V521<\/a> Such expressions using the &#8216;,&#8217; operator are dangerous. Make sure the expression is correct. vboxmpwddm.cpp 1083<\/p><\/blockquote>\n<p>  <\/p>\n<pre><code class=\"cpp\">NTSTATUS DxgkDdiStartDevice(...) {   ....   if ( ARGUMENT_PRESENT(MiniportDeviceContext) &amp;&amp;         ARGUMENT_PRESENT(DxgkInterface) &amp;&amp;         ARGUMENT_PRESENT(DxgkStartInfo) &amp;&amp;         ARGUMENT_PRESENT(NumberOfVideoPresentSources), \/\/ &lt;=         ARGUMENT_PRESENT(NumberOfChildren)         )   {     ....   }   .... }<\/code><\/pre>\n<p>  \u0411\u044b\u043b \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043a\u043e\u0434 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0437\u0430\u043f\u044f\u0442\u0430\u044f &#8216;,&#8217; \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0438 \u043b\u0435\u0432\u044b\u0439, \u0438 \u043f\u0440\u0430\u0432\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u0435\u0432\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0442\u0443\u0442 \u0445\u043e\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#8216;&amp;&amp;&#8217;, \u043a\u0430\u043a \u0438 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u0445.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0108\/\">V519<\/a> The &#8216;pThis-&gt;aCSR[103]&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1230, 1231. devpcnet.cpp 1231  <\/p>\n<pre><code class=\"cpp\">static void pcnetSoftReset(PPCNETSTATE pThis) {   ....   pThis-&gt;aCSR[94]  = 0x0000;   pThis-&gt;aCSR[100] = 0x0200;   pThis-&gt;aCSR[103] = 0x0105; \/\/ &lt;=   pThis-&gt;aCSR[103] = 0x0105; \/\/ &lt;=   .... }<\/code><\/pre>\n<p>  \u041a\u043e\u0434 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u043e\u0445\u043e\u0436\u0435\u0435 \u043c\u0435\u0441\u0442\u043e \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0443\u0442\u0451\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043b\u0438\u0448\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438. \u0410 \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435: \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u0438\u043d\u0434\u0435\u043a\u0441\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438\u043b\u0438 \u0442\u043e\u0436\u0435 \u043b\u0438\u0448\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430, \u043c\u044b \u0443\u0437\u043d\u0430\u0435\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 VirtualBox.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0090\/\">V501<\/a> There are identical sub-expressions &#8216;mstrFormat.equalsIgnoreCase(\u00abtext\/plain\u00bb)&#8217; to the left and to the right of the &#8216;||&#8217; operator. vboxdnddataobject.cpp 382  <\/p>\n<pre><code class=\"cpp\">STDMETHODIMP VBoxDnDDataObject::GetData(....) {   ....   else if(          mstrFormat.equalsIgnoreCase(&quot;text\/plain&quot;)  \/\/ &lt;=       || mstrFormat.equalsIgnoreCase(&quot;text\/html&quot;)       || mstrFormat.equalsIgnoreCase(&quot;text\/plain;charset=utf-8&quot;)       || mstrFormat.equalsIgnoreCase(&quot;text\/plain;charset=utf-16&quot;)       || mstrFormat.equalsIgnoreCase(&quot;text\/plain&quot;)  \/\/ &lt;=       || mstrFormat.equalsIgnoreCase(&quot;text\/richtext&quot;)       || mstrFormat.equalsIgnoreCase(&quot;UTF8_STRING&quot;)       || mstrFormat.equalsIgnoreCase(&quot;TEXT&quot;)       || mstrFormat.equalsIgnoreCase(&quot;STRING&quot;))   {   .... }<\/code><\/pre>\n<p>  \u041d\u0443 copy-paste \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0436\u0438\u0442\u044c \u0432\u0435\u0447\u043d\u043e. \u0422\u0443\u0442 \u0438 \u0442\u0430\u043a \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0432\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u00abtext\/plain\u00bb, \u0442\u0430\u043a \u0435\u0449\u0451 \u0432\u0435\u0441\u044c \u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430 \u0431\u043b\u0430\u0433\u043e\u043f\u043e\u043b\u0443\u0447\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0430\u0439\u043b:<\/p>\n<ul>\n<li>V501 There are identical sub-expressions &#8216;!RTStrICmp(pszFormat, \u00abtext\/plain\u00bb)&#8217; to the left and to the right of the &#8216;||&#8217; operator. vboxdnd.cpp 834<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>define true false; \/\/\u0443\u0434\u0430\u0447\u043d\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438!<\/h2>\n<p>  \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043a\u043e\u0434 \u2014 \u043d\u0435 \u0448\u0443\u0442\u043a\u0430, \u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u044f\u0445 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0137\/\">V547<\/a> Expression is always false. Unsigned type value is never &lt; 0. dt_subr.c 715  <\/p>\n<pre><code class=\"cpp\">int dt_printf(dtrace_hdl_t *dtp, FILE *fp, const char *format, ...) {   ....   if (vsnprintf(&amp;dtp-&gt;dt_buffered_buf[dtp-&gt;dt_buffered_offs], \/\/&lt;=         avail, format, ap) &lt; 0) {       rval = dt_set_errno(dtp, errno);       va_end(ap);       return (rval);     }   .... }<\/code><\/pre>\n<p>  \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u0442\u0443\u0442 \u043d\u0435 \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0434\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0443. \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00abvsnprintf\u00bb \u043d\u0435\u0434\u0432\u0443\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0438\u0441\u043b\u043e. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u044f \u0434\u0430\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u043b \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 C++ \u043a\u043e\u0434\u0430, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440 \u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f. \u041d\u043e \u043d\u0435\u0442, \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043f\u0440\u0430\u0432.<\/p>\n<p>  \u041a\u0442\u043e \u0436\u0435 \u043c\u043e\u0433 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0433\u0434\u0435-\u0442\u043e \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c\u0441\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430:  <\/p>\n<pre><code class=\"cpp\">#define vsnprintf RTStrPrintfV<\/code><\/pre>\n<p>  \u0412 <a href=\"http:\/\/www.viva64.com\/ru\/t\/0076\/\">\u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/a> \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043a\u0440\u044b\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:  <\/p>\n<pre><code class=\"cpp\">if (RTStrPrintfV(&amp;dtp-&gt;dt_buffered_buf[dtp-&gt;dt_buffered_offs],     avail, format, ap) &lt; 0) {   rval = dt_set_errno(dtp, (*_errno()));  ( ap = (va_list)0 );  return (rval); }<\/code><\/pre>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f RTStrPrintfV() \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430 &#8216;size_t&#8217;, \u0430 \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0433\u043e &#8216;int&#8217;, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0442\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0435, \u0442.\u043a. \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"cpp\">size_t  RTStrPrintfV(char *, size_t, const char *, va_list args); int     vsnprintf   (char *, size_t, const char *, va_list arg );<\/code><\/pre>\n<h2>\u041f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u00abFrom-To\u00bb \u043a\u043e\u0434<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0168\/\">V570<\/a> The &#8216;from-&gt;eval1D[i].u1&#8217; variable is assigned to itself. state_evaluators.c 1006  <\/p>\n<pre><code class=\"cpp\">void crStateEvaluatorDiff(CREvaluatorBits *e, CRbitvalue *bitID,                      CRContext *fromCtx, CRContext *toCtx) {   ....   from-&gt;eval1D[i].order = to-&gt;eval1D[i].order;   from-&gt;eval1D[i].u1 = from-&gt;eval1D[i].u1;     \/\/ &lt;=   from-&gt;eval1D[i].u2 = from-&gt;eval1D[i].u2;     \/\/ &lt;=   ... }<\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0430\u043c\u0438\u043c \u0441\u0435\u0431\u0435. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0441\u043f\u0440\u0430\u0432\u0430 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c &#8216;to&#8217;, \u0430 \u043d\u0435 &#8216;from&#8217;.<\/p>\n<p>  \u0415\u0449\u0451 \u043f\u044f\u0442\u044c \u043c\u0435\u0441\u0442 \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435:<\/p>\n<ul>\n<li>V570 The &#8216;from-&gt;eval1D[i].u2&#8217; variable is assigned to itself. state_evaluators.c 1007<\/li>\n<li>V570 The &#8216;from-&gt;eval2D[i].u1&#8217; variable is assigned to itself. state_evaluators.c 1042<\/li>\n<li>V570 The &#8216;from-&gt;eval2D[i].u2&#8217; variable is assigned to itself. state_evaluators.c 1043<\/li>\n<li>V570 The &#8216;from-&gt;eval2D[i].v1&#8217; variable is assigned to itself. state_evaluators.c 1044<\/li>\n<li>V570 The &#8216;from-&gt;eval2D[i].v2&#8217; variable is assigned to itself. state_evaluators.c 1045<\/li>\n<\/ul>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0242\/\">V625<\/a> Consider inspecting the &#8216;for&#8217; operator. Initial and final values of the iterator are the same. state_transform.c 1365  <\/p>\n<pre><code class=\"cpp\">void crStateTransformDiff(...., CRContext *fromCtx, CRContext *toCtx ) {   ....   for (i = to-&gt;colorStack.depth; i &lt;= to-&gt;colorStack.depth; i++)   {     LOADMATRIX(to-&gt;colorStack.stack + i);     from-&gt;colorStack.stack[i] = to-&gt;colorStack.stack[i];      \/* Don't want to push on the current matrix *\/     if (i != to-&gt;colorStack.depth)         diff_api.PushMatrix();   }   .... }<\/code><\/pre>\n<p>  \u041e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u044f \u0440\u0435\u0448\u0438\u043b \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0449\u0451 \u043e\u0434\u043d\u043e \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u043c\u0451\u043d &#8216;to&#8217; \u0438 &#8216;from&#8217;.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435 \u043a\u043e\u0434\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430 \u0446\u0438\u043a\u043b\u0430. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u0432 \u0446\u0438\u043a\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043f\u044f\u0442\u044c \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u0432 \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 &#8216;to&#8217;.<\/p>\n<h2>\u041f\u0440\u043e \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0159\/\">V564<\/a> The &#8216;&amp;&#8217; operator is applied to bool type value. You&#8217;ve probably forgotten to include parentheses or intended to use the &#8216;&amp;&amp;&#8217; operator. glsl_shader.c 4102  <\/p>\n<pre><code class=\"cpp\">static void generate_texcoord_assignment(....) {   DWORD map;   unsigned int i;   char reg_mask[6];    if (!ps)     return;    for (i = 0, map = ps-&gt;baseShader.reg_maps.texcoord;               map &amp;&amp; i &lt; min(8, MAX_REG_TEXCRD);               map &gt;&gt;= 1, ++i)   {     if (!map &amp; 1) \/\/ &lt;=       continue;     ....   } }<\/code><\/pre>\n<p>  \u0418\u0437-\u0437\u0430 \u0437\u0430\u0431\u044b\u0442\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u043a \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 &quot;!map &amp; 1&quot; \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 &#8216;map&#8217; \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u043d\u0443\u043b\u044e, \u0430 \u043d\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043b\u0438 \u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u043e\u0434\u0438\u043d \u0431\u0438\u0442. \u041d\u0430 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u043e \u0435\u0449\u0451 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0438 \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f &#8216;map&#8217; \u043d\u0430 \u043d\u043e\u043b\u044c \u0443\u0436\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0446\u0438\u043a\u043b\u0430. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u044d\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043b\u043e\u0436\u043d\u043e \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#8216;continue&#8217; \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:  <\/p>\n<pre><code class=\"cpp\">if ( !(map &amp; 1) )       continue;<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0194\/\">V590<\/a> Consider inspecting this expression. The expression is excessive or contains a misprint. vboxdispcm.cpp 288  <\/p>\n<pre><code class=\"cpp\">HRESULT vboxDispCmSessionCmdGet(....) {   ....   Assert(hr == S_OK || hr == S_FALSE);   if (hr == S_OK || hr != S_FALSE)     \/\/ &lt;=   {       return hr;   }   .... }<\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u00abhr == S_OK\u00bb \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0441\u0435\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0432 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5fe\/783\/f53\/5fe783f53fb98975030136cede93e176.png\" \/><\/div>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u0440\u044f\u0434\u043e\u043c \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 Assert(), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0412\u043e\u043e\u0431\u0449\u0435, \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u2014 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u043e\u0435 \u044f\u0432\u043b\u0435\u043d\u0438\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"http:\/\/www.viva64.com\/ru\/b\/0377\/\">\u044f\u0434\u0440\u043e FreeBSD<\/a> \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u0442\u0430\u043b\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>  \u0412\u0435\u0441\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0442 \u0438\u0437 VirtualBox:<\/p>\n<ul>\n<li>V590 Consider inspecting the &#8216;err == 0L || err != 1237L&#8217; expression. The expression is excessive or contains a misprint. vboxdisplay.cpp 656<\/li>\n<li>V590 Consider inspecting the &#8216;rc == 3209 || rc != (- 3210)&#8217; expression. The expression is excessive or contains a misprint. vd.cpp 10876<\/li>\n<li>V590 Consider inspecting the &#8216;rc == 3209 || rc != (- 3210)&#8217; expression. The expression is excessive or contains a misprint. vd.cpp 10947<\/li>\n<li>V590 Consider inspecting the &#8216;rc == 3209 || rc != (- 3210)&#8217; expression. The expression is excessive or contains a misprint. vd.cpp 11004<\/li>\n<li>V590 Consider inspecting the &#8216;rc == 3209 || rc != (- 3210)&#8217; expression. The expression is excessive or contains a misprint. vd.cpp 11060<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>\u0420\u0430\u0437\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0100\/\">V511<\/a> The sizeof() operator returns size of the pointer, and not of the array, in &#8216;sizeof (plane)&#8217; expression. devvga-svga3d-win.cpp 4650  <\/p>\n<pre><code class=\"cpp\">int vmsvga3dSetClipPlane(...., float plane[4]) \/\/ &lt;= {   ....   \/* Store for vm state save\/restore. *\/   pContext-&gt;state.aClipPlane[index].fValid = true;   memcpy(pContext-&gt;state.aClipPlane[....], plane, sizeof(plane));   .... }<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f &#8216;plane&#8217; \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0442\u0438\u043f\u0430 &#8216;float&#8217;. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00absizeof(plane)\u00bb \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u043d\u043e 4 \u0438\u043b\u0438 8, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0410 \u0447\u0438\u0441\u043b\u043e &#8216;[4]&#8217; \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 4 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0442\u0438\u043f\u0430 &#8216;float&#8217;. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0444\u0443\u043d\u043a\u0446\u0438\u044f memcpy() \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0106\/\">V517<\/a> The use of &#8216;if (A) {&#8230;} else if (A) {&#8230;}&#8217; pattern was detected. There is a probability of logical error presence. Check lines: 411, 418. mp-r0drv-nt.cpp 411  <\/p>\n<pre><code class=\"cpp\">static int rtMpCallUsingDpcs(....) {   ....   if (enmCpuid == RT_NT_CPUID_SPECIFIC)       \/\/ &lt;=   {     KeInitializeDpc(&amp;paExecCpuDpcs[0], rtmpNtDPCWrapper, pArgs);     KeSetImportanceDpc(&amp;paExecCpuDpcs[0], HighImportance);     KeSetTargetProcessorDpc(&amp;paExecCpuDpcs[0], (int)idCpu);     pArgs-&gt;idCpu = idCpu;   }   else if (enmCpuid == RT_NT_CPUID_SPECIFIC) \/\/ &lt;=   {     KeInitializeDpc(&amp;paExecCpuDpcs[0], rtmpNtDPCWrapper, pArgs);     KeSetImportanceDpc(&amp;paExecCpuDpcs[0], HighImportance);     KeSetTargetProcessorDpc(&amp;paExecCpuDpcs[0], (int)idCpu);     pArgs-&gt;idCpu = idCpu;      KeInitializeDpc(&amp;paExecCpuDpcs[1], rtmpNtDPCWrapper, pArgs);     KeSetImportanceDpc(&amp;paExecCpuDpcs[1], HighImportance);     KeSetTargetProcessorDpc(&amp;paExecCpuDpcs[1], (int)idCpu2);     pArgs-&gt;idCpu2 = idCpu2;   }   .... }<\/code><\/pre>\n<p>  \u0418\u0437-\u0437\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043a\u0430\u0441\u043a\u0430\u0434\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0120\/\">V531<\/a> It is odd that a sizeof() operator is multiplied by sizeof(). tstrtfileaio.cpp 61  <\/p>\n<pre><code class=\"cpp\">void tstFileAioTestReadWriteBasic(...., uint32_t cMaxReqsInFlight) {   \/* Allocate request array. *\/   RTFILEAIOREQ *paReqs;   paReqs = (...., cMaxReqsInFlight * sizeof(RTFILEAIOREQ));   RTTESTI_CHECK_RETV(paReqs);   RT_BZERO(..., sizeof(cMaxReqsInFlight) * sizeof(RTFILEAIOREQ));    \/* Allocate array holding pointer to data buffers. *\/   void **papvBuf = (...., cMaxReqsInFlight * sizeof(void *));   .... }<\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 sizeof(). \u0415\u0441\u043b\u0438 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u043c\u0430\u043a\u0440\u043e\u0441 &#8216;RT_BZERO&#8217;, \u0442\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u0417\u0430\u0447\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0442\u0438\u043f\u0430 &#8216;uint32_t&#8217; \u0438 \u0443\u043c\u043d\u043e\u0436\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0442\u0438\u043f\u0430?\u00bb. \u0412 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u0443\u0447\u0430\u0441\u0442\u043a\u0430\u0445 \u043a\u043e\u0434\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044e\u0442 \u043a\u0430\u043a \u00abcMaxReqsInFlight * sizeof(RTFILEAIOREQ)\u00bb. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0432 \u0441\u0442\u0440\u043e\u0447\u043a\u0435 \u0441 &#8216;RT_BZERO&#8217; \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0440\u0430\u0437\u043c\u0435\u0440, \u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0137\/\">V547<\/a> Expression &#8216;sd &gt;= 0&#8217; is always true. Unsigned type value is always &gt;= 0. vboxservicevminfo.cpp 1086  <\/p>\n<pre><code class=\"cpp\">static int vgsvcVMInfoWriteNetwork(void) {   ....   SOCKET sd = WSASocket(AF_INET, SOCK_DGRAM, 0, 0, 0, 0);   ....   if (pAdpInfo)         RTMemFree(pAdpInfo);   if (sd &gt;= 0)    \/\/ &lt;=       closesocket(sd);   .... }<\/code><\/pre>\n<p>  \u0422\u0438\u043f SOCKET (\u0432 Visual C++) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u00absd &gt;=0\u00bb \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u0430. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430: \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0432 Unix \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 &#8216;int&#8217;. \u0412 \u0446\u0435\u043b\u043e\u043c, \u043a\u043e\u0434 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e: \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0432\u0435\u0437\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u043e \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432 \u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f Windows \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u0430.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0153\/\">V560<\/a> A part of conditional expression is always true: 0x1fbe. tstiprtministring.cpp 442  <\/p>\n<pre><code class=\"cpp\">static void test2(RTTEST hTest) {   ....   for (RTUNICP uc = 1; uc &lt;= 0x10fffd; uc++)   {     if (uc == 0x131 || uc == 0x130 || uc == 0x17f || 0x1fbe)\/\/ &lt;=       continue;                                    \/\/^^^^^^      if (RTUniCpIsLower(uc))     {       RTTESTI_CHECK_MSG(....), (&quot;%#x\\n&quot;, uc));       strLower.appendCodePoint(uc);     }     if (RTUniCpIsUpper(uc))     {       RTTESTI_CHECK_MSG(....), (&quot;%#x\\n&quot;, uc));       strUpper.appendCodePoint(uc);     }   }   .... }<\/code><\/pre>\n<p>  \u041e\u0431\u044b\u0447\u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f, \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u0437 \u043e\u0442\u0447\u0451\u0442\u0430 PVS-Studio \u043b\u0435\u0433\u043a\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435. \u041d\u043e \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u044f \u0432\u0441\u0451 \u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u0432\u044b\u043f\u0438\u0441\u0430\u0442\u044c. \u041e\u043d \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u0438\u0437-\u0437\u0430 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0442\u0435\u0441\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442. \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u0430 for() \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#8216;continue&#8217;. \u0412 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u00abuc ==\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &#8216;0x1fbe&#8217; \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u043c. \u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a <a href=\"http:\/\/www.viva64.com\/ru\/a\/0080\/\">\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u044e\u043d\u0438\u0442-\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a>.<\/p>\n<p>  \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:  <\/p>\n<pre><code class=\"cpp\">if (uc == 0x131 || uc == 0x130 || uc == 0x17f || uc == 0x1fbe)   continue;<\/code><\/pre>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0225\/\">V610<\/a> Undefined behavior. Check the shift operator &#8216;&lt;&lt;&#8216;. The left operand &#8216;(- 2)&#8217; is negative. translate.c 2708  <\/p>\n<pre><code class=\"cpp\">static void gen_push_T1(DisasContext *s) {   ....   if (s-&gt;ss32 &amp;&amp; !s-&gt;addseg)     gen_op_mov_reg_A0(1, R_ESP);   else     gen_stack_update(s, (-2) &lt;&lt; s-&gt;dflag);   .... }<\/code><\/pre>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c \u044f\u0437\u044b\u043a\u0430 C \u0438 C++, \u0441\u0434\u0432\u0438\u0433 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e.<\/p>\n<p>  \u0412\u043e\u0442 \u0435\u0449\u0451 \u0434\u0432\u0430 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u043c\u0435\u0441\u0442\u0430:<\/p>\n<ul>\n<li>V610 Undefined behavior. Check the shift operator &#8216;&lt;&lt;&#8216;. The left operand is negative (&#8216;i64&#8217; = [-1..0]). tarvfs.cpp 234<\/li>\n<li>V610 Undefined behavior. Check the shift operator &#8216;&lt;&lt;&#8216;. The left operand &#8216;-16&#8217; is negative. translate.c 2761<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>TODO&#8217;\u0448\u043a\u0438<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0112\/\">V523<\/a> The &#8216;then&#8217; statement is equivalent to the &#8216;else&#8217; statement. state_evaluators.c 479  <\/p>\n<pre><code class=\"cpp\">static void map2(G....) {   ....   if (g-&gt;extensions.NV_vertex_program) { \/* XXX FIXME *\/     i = target - GL_MAP2_COLOR_4;   } else {     i = target - GL_MAP2_COLOR_4;   }   .... }<\/code><\/pre>\n<p>  \u041f\u043e\u043c\u0435\u0442\u043a\u0438 \u00abFIXME\u00bb \u0438 \u00abTODO\u00bb \u043c\u043e\u0433\u0443\u0442 \u0436\u0438\u0442\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u043b\u0433\u043e. \u041d\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u0434\u0430\u0441\u0442 \u0437\u0430\u0431\u044b\u0442\u044c \u043e \u043d\u0435\u0434\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0119\/\">V530<\/a> The return value of function &#8216;e1kHandleRxPacket&#8217; is required to be utilized. deve1000.cpp 3913  <\/p>\n<pre><code class=\"cpp\">static void e1kTransmitFrame(PE1KSTATE pThis, bool fOnWorkerThread) {   ....   \/** @todo do we actually need to check             that we're in loopback mode here? *\/   if (GET_BITS(RCTL, LBM) == RCTL_LBM_TCVR)   {     E1KRXDST status;     RT_ZERO(status);     status.fPIF = true;     e1kHandleRxPacket(pThis, pSg-&gt;aSegs[0].pvSeg, ....); \/\/ &lt;=     rc = VINF_SUCCESS;                                   \/\/ &lt;=   }   e1kXmitFreeBuf(pThis);   .... }<\/code><\/pre>\n<p>  \u0412 \u0434\u0440\u0443\u0433\u0438\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 e1kHandleRxPacket() \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e &#8216;rc&#8217;. \u041d\u043e \u043f\u043e\u043a\u0430 \u043a\u043e\u0434 \u043d\u0435 \u0434\u043e\u043f\u0438\u0441\u0430\u043d, \u0442\u0443\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0430 \u0432 \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u00abVINF_SUCCESS\u00bb.<\/p>\n<h2>\u041d\u043e\u0432\u044b\u0435 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438<\/h2>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u044f \u043e\u043f\u0438\u0448\u0443 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 PVS-Studio \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 VirtualBox.<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0435\/\">V745<\/a> A &#8216;wchar_t *&#8217; type string is incorrectly converted to &#8216;BSTR&#8217; type string. Consider using &#8216;SysAllocString&#8217; function. vboxcredentialprovider.cpp 231  <\/p>\n<pre><code class=\"cpp\">static HRESULT VBoxCredentialProviderRegisterSENS(void) {   ....   hr = pIEventSubscription-&gt;put_EventClassID(                       L&quot;{d5978630-5b9f-11d1-8dd2-00aa004abd5e}&quot;);   .... }<\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0442\u0438\u043f\u0430 \u00abwchar_t *\u00bb \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0442\u0438\u043f\u0430 BSTR.<\/p>\n<p>  BSTR (basic string \u0438\u043b\u0438 binary string ) \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 COM, Automation \u0438 Interop \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445. \u0421\u0442\u0440\u043e\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 \u0434\u043b\u0438\u043d\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 4 \u0431\u0430\u0439\u0442\u0430, \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044f \u0438\u0437 \u0434\u0432\u0443\u0445 \u043d\u0443\u043b\u0435\u0432\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u0438\u043d\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0432\u044b\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b-\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044c. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438, \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u0438\u043d\u044b \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>  \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 SysAllocString():  <\/p>\n<pre><code class=\"cpp\">static HRESULT VBoxCredentialProviderRegisterSENS(void) {   ....   hr = pIEventSubscription-&gt;put_EventClassID(SysAllocString(                      L&quot;{d5978630-5b9f-11d1-8dd2-00aa004abd5e}&quot;));   .... }<\/code><\/pre>\n<p>  \u0415\u0449\u0451 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0442:<\/p>\n<ul>\n<li>V745 A &#8216;wchar_t *&#8217; type string is incorrectly converted to &#8216;BSTR&#8217; type string. Consider using &#8216;SysAllocString&#8217; function. vboxcredentialprovider.cpp 277<\/li>\n<li>V745 A &#8216;wchar_t *&#8217; type string is incorrectly converted to &#8216;BSTR&#8217; type string. Consider using &#8216;SysAllocString&#8217; function. vboxcredentialprovider.cpp 344<\/li>\n<li>V745 A &#8216;wchar_t *&#8217; type string is incorrectly converted to &#8216;BSTR&#8217; type string. Consider using &#8216;SysAllocString&#8217; function. string.cpp 31<\/li>\n<\/ul>\n<p>  <a href=\"http:\/\/www.viva64.com\/ru\/d\/0436\/\">V746<\/a> Type slicing. An exception should be caught by reference rather than by value. extpackutil.cpp 257  <\/p>\n<pre><code class=\"cpp\">RTCString *VBoxExtPackLoadDesc(....) {   ....   xml::XmlFileParser  Parser;   try   {     Parser.read(szFilePath, Doc);   }   catch (xml::XmlError Err) \/\/ &lt;=   {     return new RTCString(Err.what());   }   .... }<\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0443\u044e \u0441 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u043e\u043c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 &#8216;Err&#8217; \u0442\u0438\u043f\u0430 xml::XmlError. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0430\u0441\u044c \u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u0445, \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 xml::XmlError.<\/p>\n<p>  \u0415\u0449\u0451 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e:<\/p>\n<ul>\n<li>V746 Type slicing. An exception should be caught by reference rather than by value. extpackutil.cpp 330<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/afa\/509\/c0a\/afa509c0afb4b6f82637098293ecdf77.png\" \/><\/div>\n<p>  \u041f\u0440\u043e\u0435\u043a\u0442 VirtualBox \u2014 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u0430\u0436\u043d\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0432 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0422\u0430\u043a\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u043e\u0441\u0442 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u0432\u0435\u0436\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<p>  \u0415\u0449\u0451 \u044f \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0431\u044b \u043a\u043e\u0434 MS Word, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u043e\u0434\u0432\u0438\u0441\u0430\u043b \u043d\u0430 7-10 \u043c\u0438\u043d\u0443\u0442, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u041d\u043e \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442. \u041c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u0430\u0440\u0445\u0435\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u0432\u0437\u044f\u0432 <a href=\"http:\/\/www.viva64.com\/ru\/b\/0245\/\">MS Word 1.1a<\/a>, \u043d\u043e \u044d\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0442\u043e\u2026<\/p>\n<p>  \u041b\u0435\u0433\u043a\u043e <a href=\"http:\/\/www.viva64.com\/ru\/pvs-studio-download\/\">\u0441\u043a\u0430\u0447\u0430\u0439\u0442\u0435<\/a> PVS-Studio \u0438 \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u041f\u043e\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0438 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432!<\/p>\n<p>  <a href=\"http:\/\/www.viva64.com\/en\/b\/0380\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/35e\/064\/ddf\/35e064ddf91f5d99b620384893909ff7.png\" \/><\/div>\n<p><\/a><br \/>  \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u0441 \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0435\u0439, \u0442\u043e \u043f\u0440\u043e\u0448\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434: Svyatoslav Razmyslov. <a href=\"http:\/\/www.viva64.com\/en\/b\/0380\/\">A fresh eye on Oracle VM VirtualBox<\/a>.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u0438 \u0435\u0441\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441?<\/b><\/p>\n<div class=\"spoiler_text\">\u0427\u0430\u0441\u0442\u043e \u043a \u043d\u0430\u0448\u0438\u043c \u0441\u0442\u0430\u0442\u044c\u044f\u043c \u0437\u0430\u0434\u0430\u044e\u0442 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b. \u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043d\u0438\u0445 \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0437\u0434\u0435\u0441\u044c: <a href=\"http:\/\/www.viva64.com\/ru\/a\/0085\/\">\u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e PVS-Studio, \u0432\u0435\u0440\u0441\u0438\u044f 2015<\/a>. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c.  <\/div>\n<\/div>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/278959\/\"> https:\/\/habrahabr.ru\/post\/278959\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0f1\/f27\/a1c\/0f1f27a1cdd68c9518629c46c5dd1d20.png\" align=\"left\"\/>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u2014 \u0432\u0430\u0436\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0432 \u0430\u0440\u0441\u0435\u043d\u0430\u043b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u041c\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u043a\u043e\u0434\u0443 VirtualBox \u0432\u044b\u0437\u0432\u0430\u043d \u043b\u0438\u0447\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430\u0441\u044c \u0432 2014 \u0433\u043e\u0434\u0443, \u0442\u043e\u0433\u0434\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u043a\u043e\u043b\u043e 50 \u043e\u0448\u0438\u0431\u043e\u043a \u0435\u0434\u0432\u0430 \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u043e\u0441\u044c \u0432 \u0434\u0432\u0443\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445. C \u0432\u044b\u0445\u043e\u0434\u043e\u043c Windows 10 \u0438 VirtualBox 5.0.XX, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0443\u0445\u0443\u0434\u0448\u0438\u043b\u0430\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0435\u0449\u0451 \u0440\u0430\u0437.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-275851","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=275851"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275851\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=275851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=275851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=275851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}