|
|
|||
![]() PVS-Studio Static Code Analyzer for 64-bit and parallel C/C++ code
|
|||
![]() ![]() ![]() ![]() ![]()
28.06.2010
Why is the number of the line where an issue was found sometimes absent in the Error List in PVS-Studio? Sometimes the PVS-Studio code analyzer seems to find an issue in the code on which it generates a message, specifies the file name but does not show the number of the line with the issue as shown in the figure.»
07.06.2010
Communication between developers and users Abstract When developing software products, developers need very much to get feedback from users of their programs.» ![]()
22.07.2010
Using PVS-Studio with continuous integration systems This article illustrates techniques required to employ the use of PVS-Studio static code analyzer together with continuous integration systems.»
06.07.2010
Comparing capabilities of PVS-Studio and Visual Studio 2010 in detecting defects in 64-bit programs In the article, we will compare three mechanisms of code analysis from the viewpoint of detecting 64-bit errors: the Visual C++ 2010 compiler, the Code Analysis for C/C++ component included into Visual Studio 2010 and Viva64 analyzer included into PVS-Studio 3.60.»
29.06.2010
A Collection of Examples of 64-bit Errors in Real Programs
This article is the most complete collection of examples of 64-bit errors in the C and C++ languages.» ![]()
22.07.2010
We released a new version of PVS-Studio code analyzer - PVS-Studio 3.61»
10.06.2010
We released a new version of PVS-Studio code analyzer - PVS-Studio 3.60. »
19.05.2010
Our workers visited the GDC2010 conference that was held on May, 14-16, 2010, in Moscow and talked to many developers who participated there.»
|
64-bit Development![]() The article is aimed at the Linux developers who would like to develop 64-bit code for AMD64 processors. The author gives an overview of the basic Linux programming tools paying special attention to GNU open-source toolchain. You will find a list of some new command-line switches necessary for any 64-bit developer and other useful options. Besides, a toolset for manipulating binary files GCC Binutils is also described. In conclusion the author lists some other worthy tools for Linux.
This article considers issues of porting 32-bit source code to 64-bit environment within the framework of 64-bit Intel architecture. Andrew Binstock touches upon such urgent problems as changing sizes of the base types like pointers, integers and longs on various platforms, porting device drivers and binary portability. The text contains a lot of links to the useful resources devoted to the issues discussed.
Beginning with a brief history of UNIX system and computer industry's development, Andrew Josey describes the 64-bit data models (LP64, ILP64, LLP64), the principles of their implementation, their peculiarities and porting issues conditioned by differences between 32-bit and 64-bit data models. He goes on to speak about UNIX specifications' data size neutrality and some more issues of porting code to a platform with LP64 data model relating to declarations, assignment and function parameters, external interface, use of constants, pointers and so on. The author also gives some useful instructions to avoid these problems.
A very interesting article devoted to the experiment Microsoft undertook by replacing its 32-bit Web servers with 64-bit AMD Opteron processor and Windows Server 2003 x64 Edition. Besides clear and lively language, a large plus of this paper is detailed analysis of the reasons of this step with reference to the whitepaper published by Microsoft and thorough investigation into its amazing results.
In this article, the authors share their experience of porting an application with support of 11 operation systems to a 64-bit environment. Proceeding from this experience they single out the two major cross-platform migration issues: integer-long-pointer mismatches and implicit function declarations. They also touch upon some more hidden issues and in the end of the article, give valuable tips on coding and a list of useful 64-bit tools and techniques. The article will be interesting for all programmers and especially for those who face the task of porting cross-platform applications with large code to 64-bit systems.
This paper covers a wide range of aspects relating to 64-bit programming with Visual C++: it includes a table describing 64-bit compilers for the two x64-based and Itanium-based Windows platforms, overview of the features of Itanium processor, some Visual C++ 64-bit migration issues, tools for migration, changes in C++ libraries and many other things. Most sections contain links to useful resources. There is also a large FAQ section covering a lot of aspects on development on 64-bit Windows.
If you are creating 64-bit software for 64-bit AMD processors, you will find this article really valuable. Its general purpose is to discuss issues of using Microsoft Platform Software Development Kit - a toolkit intended for developing 64-bit applications for AMD64. There are three chapters: the first chapter touches upon technical preliminaries and background for using this toolkit; the second describes the procedures of building applications using Microsoft Visual Studio .NET on a Windows 32-bit development system; the third describes the use of the Platform SDK for building or porting applications using Microsoft Visual Studio 6. Each chapter provides a detailed algorithm of installing and configuring the necessary tools.
The need for porting existing 32-bit applications to 64-bit platforms becomes more and more relevant today. This paper discusses the most crucial issues the programmer may encounter when preparing for the port to Intel 64 and Intel Itanium architectures. To these issues the authors refer problems with different pointer and data sizes, alignment, padding, dependences and also issues of a higher level such as differences between data models on 32-bit and 64-bit systems, data serialization and testing large memory operations.
A very useful document providing information on the major issues of creating drivers for 64-bit editions of Windows. It includes preliminary instructions on getting ready to development, technical data concerning data types and memory, tips and guidelines to coding and porting drivers. Many of these are supplied with clear code samples illustrating some of the issues described.
|
||
|
© 2008 - 2010, OOO "Program Verification Systems"
300027, Russia, Tula, P.O. Box 1800. Office: Russia, Tula, Kutuzova 100-73 |
|||