BD Software delivers on-site training seminars for programmers in C, C++, Java, Perl and Unix     BDSoft for on-site training seminars for programmers in C, C++, Java, Perl and Unix

























BD Software delivers on-site training seminars for programmers in C, C++, Java, Perl and Unix

Why STLFilt?

 

STLFilt was initially conceived as a teaching aid, to allow students taking C++ and/or STL-specific workshops to make sense of typically overbloated STL error messages. Today, however, even some C++ experts have adopted STLFilt for use in everyday development. The results may not always be perfect, but most of the time the information lost during Decryption is not critical to the application being debugged. The rest of the time, Decryption is easy enough to bypass.

The distribution for each platform (compiler/library set) is self-contained and tuned to the idiosyncrasies of that platform. Each Perl script performs basic regex substitutions for all the standard (and extended, if present in the library) STL components, while certain versions of the script go further with respect to message ordering, line wrapping, library header error treatment, etc., as I unilaterally deemed appropriate for that platform.

Depending upon the platform, there are up to three different ways to integrate STLFilt into your development cycle. The minimal installation (supported on all platforms) allows Decryption on demand from a command prompt, or via a simple batch file/shell script driver. For this approach, all you really need are the Perl script and a Perl interpreter.

In the MSVC distribution, a special "IDE Tools"-based technique allows you to create a button in the IDE to filter error messages on demand.

The third approach: in the full-blown configuration, the versions for MSVC, gcc and Intel C++ include a "Proxy compiler" (CL.EXE in the MSVC distribution) to be found by the IDE and invoked as if it were the native C++ compiler (the actual native compiler gets renamed as part of STLFilt installation, and the Proxy compiler knows what that filename is). To filter C++ error messages, the Proxy compiler sets up an interprocess pipe between the native compiler executable and a Perl interpreter. The native compiler's diagnostics are then piped into the standard input of the Perl process (executing the Decryptor Perl script) to simplify STL-related messages. The output of the Perl script is then captured by the IDE and displayed in its output area, while the process status code of the native compiler process controls the subsequent behavior of the IDE's build sequence.

The MSVC, gcc and Intel versions also include STLTask, a tray icon utility that enables/disables Decryption, installs/uninstalls the Proxy compiler, provides on-demand filtering of clipboard contents (MSVC IDE only), and prepares your compiler installation for the application of a compiler Service Pack or upgrade.

One programmer's essential details are another programmer's noise; much effort has been put into allowing users to "roll their own" feature set for the Decryption process. After installing the package, be sure to carefully examine the entire "User-Configurable Options" section near the top of the Perl script (STLFilt.pl for MSVC), to see what your options are. Many of those options may be controlled via the primary configuration file (Proxy-CL.INI in the MSVC distribution) and command-line options to either the Proxy compiler, the Perl script itself, or both. Note that some options can only be changed by tailoring the Perl script's user-configurable settings directly.

My C/C++ Users Journal article about STLFilt is permanently available for viewing here.


Why Freeware?

At times I imagine it might be nice to have a few bucks come in for every copy of STLFilt downloaded, but mostly I'm glad I just decided to make it free. C++ represents a technology I hold near and dear to my heart, and it gives me great pleasure to have found something within my power to do that would make the coolest new features of the language more accessible to programmers. Moreover, STLFilt's status as Freeware has helped inspire folks like Thomas Becker to make invaluable contributions to the project. I'm extremely grateful to everyone who has "chipped in" with code, bug reports, ideas, publicity, or anything else.

If/when funds begin flowing back into training departments, it is my hope that folks in the position of hiring IT trainers consider BD Software for their on-site educational needs in C/C++, Java, Perl and Unix.

 



Home | Courses | Tools | Resources
Clients | Successes | Contact | Site Map | Links | About Us

All text and images on this website are Copyright © 2001-2003 BD Software.
All rights reserved.



Courses:

C and C++ Seminars

Java Seminars

Unix-Related Seminars


Clients:

Fidelity Investments

Wal-Mart

Lucent

Otis Elevator

(See full
client list)


BD Software delivers on-site training seminars for programmers in C, C++, Java, Perl and Unix