How to Make Fewer Errors at the Code Writing Stage, Part 1
Using examples of defects found in Miranda IM, Andrey Karpov will formulate some recommendations that will help you to avoid many errors and misprints at the code writing stage.
Using examples of defects found in Miranda IM, Andrey Karpov will formulate some recommendations that will help you to avoid many errors and misprints at the code writing stage.
This program presents an original way of the famous Rubik's Cube by an assembly of 27 multi-colored cubies isolated in the space. Even during its deformations, it allows a 3D vision of the cube thanks to the basic MFC graphic functions. This simulation can also rapidly calculate a solution to reordering the Cube.
A buffer overflow is the result of writing to an element that is outside the boundaries of an array. And yet, certain algorithms need to access the address of one element past the end of an array, albeit with a few important restrictions. Here's the why and how.
Discover how to start and control a third party GUI application, particularly the Notepad text editor, from your own C++ applications.
Vectors are one of the single most useful and most used objects in the STL. They are easy to use, and remove the burden of memory management from the user. It is possible to partially control memory usage by using functions like reserve
, but nothing is provided to free up excess memory. Users have come up with ways to trim a vector by hand, but with the advent of the new C++0x and its move semantics, the classic solution of copy-swaping has become excessively expensive. This article seeks to find a better solution.
Bjarne Stroustrup talks about the imminent C++0x standard and the forthcoming features it brings, the difficulties of standardizing programming languages in general, the calculated risks that the standards committee can afford to take with new features, and even his own New Year's resolutions.
Read along as Marc Gregoire provides a brief overview of TxF and TxR to give you an idea of what you can accomplish with it.
Std::tuple is a compact, fixed size container that packs a variable number of elements of different types. This property makes tuples useful in simulating multiple return types for a function, assigning and comparing multiple values simultaneously and abstracting complex data structures.
For every true C++ developer, the Standard C++ Library is the first choice for utility classes, collections and algorithms to streamline the development effort. Continuing on from the investment in core C++ programming improvements in Visual C++ 2008, Visual C++ 2010 introduces improvements in the Standard C++ Library related to C++ 0x, and this article focuses on advancements in Standard C++ collections and algorithms.
In this age of cloud computing, massive parallel systems and complex security threats like identity theft and decentralized botnets, devoting resources to combat the seemingly age-old issue of integer overflow appears distinctly passC). Despite the fact that integer overflow is such a well know problem, particularly within C and C++ programming, the problem remains a real issue from both a defect and security standpoint, that's why the introduction of the SafeInt template class in Visual C++ 2010 to address overflows is a great addition.
Application manifest files provide a declarative means for an application to detail its dependencies and runtime requirements. Each version of Windows and Visual C++ adds further options that can be specified in the application manifest file, and it is important for correct application deployment and execution that the Visual C++ developer keeps up to date with these advances.
Learn how to use helper classes for interprocess communication with memory mapped files in C++ on Windows.
The Concurrency Runtime simplifies parallel programming and helps you write robust, scalable, and responsive parallel applications. Come along as we explore the Resource Manager layer of this framework.
This article is devoted to the development of the key licensing system for the applications. In the theoretical part of the article, we will examine the cryptography methods, which can be used while implementing the licensing system. Also we will discuss all pros and cons of these methods and select the possible ones for using in the application. In the practical part of the article, we will provide the implementation of the simplest licensing system, which guaranties the protection from cracking even if a hacker knows the source code of an algorithm.
The article gives an example of false-sharing in multi-threading programming using C++0x std::thread.
You're often required to repeat identical pieces of initialization code in every constructor of a class that declares multiple constructors. That's because unlike a few other programming languages, The C++ programming language doesn't allow a constructor to call another constructor of the same class. Luckily, this problem is about to disappear with the recent approval of a new C++0x feature called delegating constructors which are explained in this C++ tutorial.
Microsoft rolls out an update to its Productivity Power Tools, a set of extensions to Microsoft Visual Studio 2010 designed to make developers' lives easier.
The article introduces the simplex algorithm, provides a useful C++ function to optimize target function parameters, and shows rich examples, figures, flowcharts. source code is also attached with the article.
This article introduces a simple wrapper template.
Botao Jia discusses the grammar of the C++ Pointer-to-Member Function, common applications and under-the-hood implementations.
If you're building Windows Mobile apps FakeGPS could be the answer to your troubleshooting worries. Learn how to test your GPS applications using FakeGPS.
Jump Lists provide a simple and convenient way for users to open documents and perform common tasks, and Windows 7 provides basic support for Jump Lists with no explicit application development. C++ developers can improve their applications by using the MFC class CJumpList to provide custom jump list items for easier application interaction.
Learn about a comprehensive method of getting the Windows version and differentiate among the various editions.
In this C++ tutorial, learn how to utilize Lambda expressions in your C++ Applications.
Your compiler assumes by default that almost every function might throw an exception. As a result, it might generate suboptimal code. C++0x now lets you explicitly annotate functions that never throw with the [[nothrow]] attribute. Find out how to use this attribute to write efficient and self-documenting code.
An unsuccessful attempt to compare PVS-Studio (VivaMP) and Intel C/C++ ("Parallel Lint")
In today's environment prototyping your UI can be paramount. This article will show users how to use the Microsoft Expression Blend 3 prototyping tool and discuss the differences between static, interactive and convertible prototypes.
The software giant moves quickly to address a problem impacting older, rights-managed documents.
Though the Clipboard is one of the fundamental parts of the Windows operating system, there is little information about how it works, especially in the low level. In this article, I'm going to tell you something about the Clipboard internals by showing how you can forbid access to it.
Need your server and your site up and running quick? Let Greg Larsen show you what you need to know to get SQL Server running and configured.
Learn how to use Windows Azure and Azure Storage to store, retrieve and update information in Table storage, pass work between multiple cloud service roles using Queue storage and use the Azure SDK StorageClient project to speed up Azure Storage development.
Demonstrates the basics of writing a Windows Debugger.
In this article we will consider the methods of hooking keyboard data in the kernel mode. The described approaches can be used for solving the tasks of keystroke analysis, blocking and also redefining some combinations.
Understand from this guide how and when - as well as when not - to use multithreading.
Read about a sample demonstrating how to accelerate finding an optimal Puzzle 15 solution using C++ Template Metaprogramming. It presents an implementation of the IDA* search algorithm.
Even the best-written C++ applications can crash or hang-and end-users' perceptions of the application hinge on how gracefully the application works with the operating system to handle such problems. By registering your applications with Windows Application Recovery and Restart, they can recover gracefully after errors occur.
System Integration that was one of the least considered areas in IT is now receiving a lot of attention. Learn about the types of integration and as well as about formats and modeling.
Generate multiple (on-screen)Virtual Keyboards to include into your portable application via a DLL, so that your users can take theirlanguage/keyboard with them on their travels, even if the PC they use does not have their home keyboard installed.
Understand the new direction in development of static code analyzers - verification of parallel programs. The article reviews several static analyzers which can claim to be called "Parallel Lint".
Visual C++ 2010 includes a number of new features for preventing data inconsistencies due to simultaneous updates of memory locations - a key challenge in parallel development.
Check out this commercial-grade cross-platform Harel UML StateChart open-source application framework named StateWizard for concurrent, distributed, and real-time reactive system development with simplicity, efficiency, and scalability.
DirectWrite is a new API to render text on Windows 7 / Vista. It makes it easy to render paragraphs of text that can contain different formatting, coloring, fonts etc. It supports horizontal and vertical alignments, even vertical centering of a paragraph with multiple lines which was not possible with the old text API, etc. This article will give an introduction to the new DirectWrite API.
![]() | By Dan Rigsby - Working with Custom Stored Procedures in Entity Framework. |
Visual C++ 10.0's new Parallel Pattern Library supplies methods to execute multiple processing tasks, across available processing resources, eliminating the headache of manually allocating task execution.
How to write per thread singleton instance to avoid thread contention.
The article describes the main steps which should be performed to correctly port 32-bit Windows applications on 64-bit Windows systems. Although the article is meant for developers using C/C++ in Visual Studio 2005/2008 environment, it will be also useful for other developers who plan to port their applications on 64-bit systems.
Visual C++ 2010 with many of the new C++ 0x language features including Lambdas. Discover how lambda functions make C++ code easier to read and maintain, and explore the various techniques for writing them ships.
Discover how to retrieve information on your computer's devices including the mouse, keyboard, and other peripherals attached to the system.
C++ is older, but is it more mature?
Explore a C++ replacement of the official ASIO SDK that supports multiple ASIO devices put to the test in a tiny WinAMP output DLL.