![]() PVS-Studio Static Code Analyzer for 64-bit and parallel C/C++ code
|
|
![]() ![]() ![]() ![]() ![]()
11.03.2010
Parallel notes N4 - continuing to study OpenMP constructs In this post we will continue to introduce you into OpenMP technology and tell you about some functions and new directives.»
02.03.2010
Parallel notes N3 - base OpenMP constructs Now we would like to start introducing you into OpenMP technology and show you the ways of using it.»
28.02.2010
In what way can C++0x standard help you eliminate 64-bit errors Programmers see in C++0x standard an opportunity to use lambda-functions and other entities I do not quite understand :).» ![]()
10.12.2009
PVS-Studio FAQ This paper contains some questions and answers about PVS-Studio code analyzer by OOO "Program Verification Systems".»
09.12.2009
VivaCore FAQ This paper contains some questions and answers about VivaCore C/C++ code analysis library by OOO "Program Verification Systems"»
23.11.2009
PVS-Studio: using the function "Mark as False Alarm"
The article describes and demonstrates by an example the use of PVS-Studio 3.40 new function "Mark as False Alarm". » ![]() |
64-bit Development![]() Those programmers who are planning to convert their projects created in Microsoft Visual Studio environments for 64-bit Microsoft Windows on AMD64 processors but face some problems now have a good opportunity to realize their plans: the article "Configuring Microsoft Visual Studio Projects to Support the AMD64 Architecture" provides the necessary information. It begins with an overview of tools for AMD64 by Microsoft and continues to give detailed instructions and tips on configuring such Microsoft Visual Studio environments as MVS 6, MVS .NET and MVS "Whidbey" to work with the AMD64 command-line tools. Besides, there is a separate section devoted to debugging AMD64 applications. The article contains a lot of illustrative screenshots.
In a brief but informative article Conrad Carter focuses on efficient use of switches in C/C++ compilers for providing high performance and good portability of 64-bit code. In particular, he considers Visual C++ 2005 and gcc 3.3.3. For each compiler a set of the most useful switches is given as well as thorough instructions on their use. In conclusion the author touches briefly upon AMD Core Math Library.
As it is known, the main cause of problems when converting 32-bit applications to 64-bit ones is change of sizes of long and pointer types. Proceeding from that the authors of the article offer a set of some very useful rules of using types following which will help you avoid these problems. They cover various methods of improving your code and are illustrated by detailed examples.
The paper is devoted to the type size_t and its appropriate use. Within the framework of the paper, the author touches upon the problem of portability and explains how to use size_t to improve portability, efficiency and readability of the code you want to port.
A very large and solid article devoted to two topics: x64 architecture and Windows Vista. According to these topics the paper is divided into two main sections. The first section is devoted to x64 and explains the basic principles of the architecture's assembly, C/C++ programming for it, WOW64 operation, interprocess communication and many other aspects relating to this topic. The second section devoted to Windows Vista deals with operation principles of and improvements in this operating system, as well as various tools and security mechanisms, some issues relating to using Visual Studio environments etc. There is also one more section describing .NET Framework 3.0 technology and interfaces that supply it.Although this article is far from being exhaustive, it can serve a very cool source for those programmers who are mastering x64 architecture and Windows Vista. Its pluses are in its accessible and lively manner and a great number of code samples and illustrative screenshots.
Written in a humorous manner, this blog-note is intended to cross the t's and dot the i's what memory management is concerned. To those programmers who have false ideas about this process and mix up notions "physical memory", RAM and "virtual memory" Eric Lippert explains the tricks of memory operation and actual causes of "out of memory" error.
Absence of full support of CPUID instruction by Microsoft Visual Studio .NET 2005 on x64 platforms urged the author of the article to write three samples of code demonstrating a more efficient use of _CPUID and _RDTSC functions in 64-bit mode, supplying them with detailed comments.
This note describes the process of building a 64-bit executable using Visual Studio 6 step by step. All in all there are five stages and each is explained in detail. Besides the instructions themselves you will find some useful tips on debugging the ported project and as useful links to more information on the issues of porting to 64 bits.
This article considers floating-point arithmetic for numerical computing on the example of summing square-roots on different architectures. The results of computation are thoroughly compared and described in several tables. The issues of the precision level and what to consider a "correct" result are also examined. The article will be interesting for everyone involved in floating-point computation.
|
|
© 2008 - 2010, OOO "Program Verification Systems"
300027, Russia, Tula, P.O. Box 1800. Office: Russia, Tula, Kutuzova 100-73 |
|