Archive for June, 2008



Bjarne Stroustrup’s C++ Style and Technique FAQ

Thursday, June 12th, 2008

These are questions about C++ Style and Technique that people ask me often. If you have better questions or comments on the answers, feel free to email me (bs@research.att.com). Please remember that I can’t spend all of my time improving my homepages.
Continue

Bjarne Stroustrup’s C++ Glossary

Thursday, June 12th, 2008

The definitions/explanations of individual terms are necessarily very brief. To compensate, each entry includes one or more references to The C++ Programming language (Special Edition) (TC++PL) where you can find more comprehensive explanations and code examples. I use section references, rather than page numbers, so that this glossary can be used together with translations of [...]

Debugging Objective-C with a non-ObjC-aware gdb

Thursday, June 12th, 2008

This file should enable the reader to examine running ObjC-Programs using GNU Objective-C and gdb on non-NeXT-Machines. The examples are tested with gcc-2.6.3 and gdb-4.13.
Suggestions are welcome.
Continue

A 10-Minute Introduction to Objective-C

Thursday, June 12th, 2008

Objective-C is a powerful, easy-to-learn, object-oriented extension to C. Unlike in C++, advanced object-oriented features like dynamic binding, run-time type identification, and persistence are standard features in Objective-C which apply universally and work well together. Moreover, the support for descriptive message names (a la SmallTalk) makes Objective-C code easy to read and understand. Objective-C is [...]

OBJECT-ORIENTED PROGRAMMING AND THE OBJECTIVE-C LANGUAGE

Thursday, June 12th, 2008

Object-oriented programming, like most interesting new developments, builds on some old ideas, extends them, and puts them together in novel ways. The result is many-faceted and a clear step forward for the art of programming. An object-oriented approach makes programs more intuitive to design, faster to develop, more amenable to modifications, and easier to understand. [...]

C Standard Library

Friday, June 6th, 2008

void assert(int expression);
Macro used for internal error detection. (Ignored if NDEBUG is defined where <assert.h> is included.) If expression equals zero, message printed on stderr and abort called to terminate execution. Source filename and line number in message are from preprocessor macros __FILE__ and __LINE__.
Continue

Building And Using Static And Shared “C” Libraries

Friday, June 6th, 2008

One of the problems with developed programs, is that they tend to grow larger and larger, bringing up overall compilation and linking time to a large figure, and polluting out makefile, and the directory where we placed the source files. The first time a program we write reaches this state, is normally when we look [...]

Compiling “C” And “C++” Programs On Unix Systems - gcc/g++

Friday, June 6th, 2008

This document tries to give the reader basic knowledge in compiling C and C++ programs on a Unix system. If you’ve no knowledge as to how to compile C programs under Unix (for instance, you did that until now on other operating systems), you’d better read this tutorial first, and then write a few programs [...]

Programming in C

Friday, June 6th, 2008

In order to use Solaris and most other Unix Systems you will need to be familiar with the Common Desktop Environment (CDE). Before embarking on learning C with briefly introduce the main features of the CDE.
Continue

C optimisation tutorial

Friday, June 6th, 2008

This document has evolved over time and contains a number of the best ways to hand-optimise your C-code. Compilers are good, but they can’t do everything, and here I hope to help you squeeze the best performance out of your code. This is not intended for beginners, but for more experienced programmers.
Continue