T2 is a system development environment. It provides a self-contained distribution build kit based on sources with an up-to-date development toolchain (gcc, glibc, uclibc, dietlibc, X.org, KDE, GNOME, etc.).
A sample program CCtest was created to demonstrate an error common to C++ applications -- the memory leak. The examples in this article demonstrate the use of the DTrace feature in the Solaris 10 Operating System to diagnose C++ application errors. These examples are also used to compare DTrace with other debugging tools, including Sun Studio 10 software and mdb in the Solaris 10 OS.
In just a few short months, an open-source software package called Xen has been catapulted from obscurity to the limelight as many computing industry powers throw their weight behind the project.
Accelerate your porting efforts by following this six-step guide. Learn the differences between Solaris and Linux on POWER, and see how SUN's compiler/linker switches compare with those of GNU GCC and the IBM native compiler.
After a year of beta testing, TnFOX (forked from the FOX toolkit) has made its first production ready release. TnFOX extends FOX in a number of important areas such as mission-critical support, multithreading, exception-safety, strong encryption, Inter-Process Communication (IPC), Python bindings, human language translation and enhanced host OS facilities access in a Qt API compatible fashion. TnFOX is available for Win32/Win64, Linux and FreeBSD.
These series of articles helps you migrate your Win32 C/C++ applications to Linux on POWER. Win32 C/C++ Apps to Linux Part-1 of this series coveres the Win32 APIs mapping to Linux on POWER regarding the initialization and termination, process, thread, and shared memory services. Win32 C/C++ Apps to Linux Part-2 illustrates how to map Win32 to Linux with respect to mutex application program interfaces (APIs).
Data alignment is an important issue for all programmers who directly use memory. Data alignment affects how well your software performs, and even if your software runs at all. As this article illustrates, understanding the nature of alignment can also explain some of the "weird" behaviors of some processors.
The standard Python interpreter is unquestionably a highly valued item in the toolbox of many Python programmers. However, the IPython developers have taken the fundamental ideas found in the standard interpreter and improved upon them so considerably that they have created a tool of amazing utility. Elsewhere, this new monthly column is about writing plugins in Eclipse. Also, read here how to use the Observer Pattern in .NET.
The price of "legacy" systems is dropping at a fast rate. Quad PIII servers can be purchased on Ebay for less than $800. Stacks of old SGI systems (Indy and Indigo) systems are being sold for rock bottom prices. But until one single unified API is created to unite all these systems into one single cluster for use by the common computer user, they will remain useless to most people. This is where HPVM comes in. HPVM exists to bring the cluster concept out of the Universities and research facilities and make them useful for everything from video editing, to database servers.
Have you ever had to work on a piece of code and found that it was hard to understand? Maybe the logic was convoluted, the identifiers meaningless, or worse, misleading. You say there was documentation? Was it readable? Did it make sense? Was it up to date with the code? Are you sure? How do you know? This chapter discusses programming by intention, a central idea in XP. It means making your intent clear when you write code.
One of the easiest ways to spin your wheels and waste your time on a project is to lose sight of just what it is that the project is supposed to address. This chapter will help you see what situations can lead to this, how you can prevent it, and what to do if you're already off track.
In this C++ Challenge, Herb Sutter throws down the gauntlet. Can you get around the C++ rule of using constructed objects as members of unions? Find out the answer in this sample chapter.
Bookpool.com has posted an excerpt from Knuth's long awaited The Art of Computer Programming: Volume 4. It is very short and discusses combinatorial searching.
Most software has far more features than most users will want. These extra features simply serve to increase the TCO of software deployments and headaches at the helpdesk. OFB Editor-in-Chief Timothy R. Butler argues that GNU/Linux developers would do well to follow the examples of Apple and Mozilla and move lesser used features out of the way.
The IBM Rational Application Developer for Linux trial download enables developers with diverse technical backgrounds, and even those unfamiliar with Java, to quickly build rich, data-driven applications.
C++ is the language that most of Microsoft's big-name products are developed in and one of the most widely-used languages in the world. Charles Torre and Scoble interview Herb Sutter, architect on the Visual C++ team, in two parts. First part is up today, second tomorrow, which includes a small tour of the team. In this segment Herb talks about some of the language and compiler changes that are coming in the next version of Visual C++ and where C++ fits into the managed code revolution.
Refactoring software by hand can be a real pain. So why not just automate the process? In this chapter, Joshua Kerievsky explains the whys and hows of refactoring, and why you shouldn't trust that automated refactoring program.
This chapter provides you with the opportunity to flex your C++ muscles by critiquing a piece of code. Can you find a better way to optimize this code for idiomatic usage? Find out in this challenge from Herb Sutter.
Pyrex is a language specially designed for writing Python extension modules. According to the Pyrex Web site, "It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python and the messy, low-level world of C." Almost any piece of Python code is also valid Pyrex code, but you can add optional static type declarations to Pyrex code, making the declared objects run at C speed.
Testing code isn't the easiest thing in the world, and it gets even more complicated when working with legacy code. This chapter explains the theory behind modular coding and how testing can be difficult in this environment.