Articles & Tutorials 
-
Program errors occurring while porting C++ code from 32-bit platforms on 64-bit ones are observed. Examples of the incorrect code and the ways to correct it are given. Methods and means of the code analysis which allow to diagnose the errors discussed, are listed.. 
-
Though the history of 64-bit systems development makes more than a decade, the appearance of 64-bit version of OS Windows raised new problems in the sphere of development and testing applications. In the article there are considered some mistakes connected with 64-bit C/C++ code development for Windows.. 
-
Granville gets down with the CLR, and takes a look at CIL/MSIL - the intermediate language that every .NET language gets compiled to, and has full access to the capabilities of the CLR.. 
-
A brief introduction to the field of Genetic Algorithms including sample C++ code. 
-
In theory the .NET debugging API is simple and a joy to use, but there is a lack of a detailed overview as to how to use it in the framework SDK. In this article, we'll cover how to write a debugger under .NET, and will also touch on the profiling API support.. 
-
Introduces Internet Control Message Protocol (ICMP) and how to generate ICMP packets to send a "ping" in C++.. 
-
Check out this article which describes how to enumerate and host Windows Control Panel Applets using C# and unmanaged C++.. 
-
To maintain performance a socket server shouldn't make any calls that should block from its IO thread pool. In this article we develop a business logic thread pool and add this to the server developed in the previous article. . 
-
"How do you handle the problem of multiple pending WSARecv() calls?" is a common question on the Winsock news groups. It seems that everyone knows that it's often a good idea to have more than one outstanding read waiting on a socket and everyone's equally aware that sometimes code doesn't work right when you do that. This article explains the potential problems with multiple pending recvs.. 
-
Low level I/O is not part of the .NET framework, so information on how its done is difficult to find. Since I am using some specialized hardware, which won't be available to most C# developers, my comments will focus on interoperability with unmanaged code. . 
-
An introduction to using ADO in C++ - its far simpler than you'd think!. 
-
Learn two sorting algorithms, and how to use these to sort CListBox, ComboBox, and CListCtrl controls. 
-
C++ tutorial covering comp sci background, syntax, data types, operators, type conversion, logical expressions, control structures, formatting output, functions, pointers, arrays, array-type problems, user-defined types, header files, structures, enum types, graphics, classes, function/operator overloading, static variables, and much more. A must read for anyone learning C++.. 
-
A console C++ tutorial covering the basics of problem solving using different AI techniques.. 
-
Part 2 of my Artificial intelligence tutorial. Extends what you learn in the first tutorial and explains the techniques needed to program a 2 player Game (human vs computer) uses tic tac toe as an example.. 
-
This article explains how to build a direct 3D application using MFC. 
-
How to implement Direct Input 8 for the mouse and keyboard in MFC. 
-
Writing a high performance server that runs on Windows NT and uses sockets to communicate with the outside world isn't that hard once you dig through the API references. What's more most of the code is common between all of the servers that you're likely to want to write. It should be possible to wrap all of the common code up in some easy to reuse classes. . 
-
Some techniques for managing processes in a program. Oriented to MFC programmers, since it includes MFC examples and defines a class for asynchronous process completion notification.. 
-
Having trouble keeping your DC intact? Here's an article on how to do this far more easily using ::SaveDC/::RestoreDC, or CDC::SaveDC/CDC::RestoreDC, as well as a C++ class to make it even easier. 
-
A quick view from C/C++ to C#, the new .NET language from Microsoft. 
-
OK, you've built the project, debugged it, and you're ready to ship. You compile the Release version of the program, and your world crumbles to dust. Find out what can be wrong, and what you can do about it. . 
-
Optimizing a program before you know where the time is going is a meaningless activity. It wastes your time, produces code that is harder to write, harder to debug, and harder to maintain, than unoptimized code. This essay discusses some of the issues of why you should not do pre-optimization.. 
-
I discovered the utility of user-interface threads a few weeks ago. This essay captures what I learned. In particular, there are some interesting issues of thread initialization that are not readily addressed. This also discusses why a user-interface thread may have no GUI objects associated with it. 
-
In Win16 it was easy: you looked at the hPrevInstance parameter to WinMain and if it was nonzero, you were the second instance. Done. In Win32 it isn't as easy. And there are several wrong ways, and some that don't work at all. This essay explores the techniques and tells you what the pitfalls are, . 
-
This describes techniques for proper use of worker threads. It is based on several years' experience in programming multithreaded applications.. 
-
When you create an Windows-related object in MFC, you are actually creating a "wrapper" around the underlying object. There are interactions between MFC and Windows which can get you into serious trouble if you are not careful. Read this to learn more.. 
-
The use of user-defined messages gives you additional power and control over your application, and provides an often convenient method for passing information between threads and applications. This essay goes into considerable depth on how to handle user-defined messages, inter-thread messages, and . 
-
Have you ever wanted a control that only accepted valid values and gave feedback to the user? This is a little project that illustrates the techniques for building a validating edit control.. 
-
Why you should never call EnableWindow or other such calls except in one central place. Think of control enabling as a set of constraint equations. Much easier to maintain if the computations are centralized. Find out how I do it, and why I think this is a good way to do it.. 
-
Why you should never call UpdateData yourself. 
-
My view: If you're writing more than one GetDlgItem per year, you're probably not using MFC correctly. Find out why, and what to do about it. . 
-
Historically, checksums have been used to increase data transmission reliability, whether from a serial line or network, tape drive, or disk drive, among the many data sources that require reliability checking. However, checksums have other uses, such as in dialog box change-state maintenance, docum. 
-
An efficient string concatenation component to replace VBScript's poor performance.. 