background preloader


Facebook Twitter


Threads. Perftools - Google Code. These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler. Recent news: 19 Apr 2014 gperftools 2.2rc is out! Here are notable changes since 2.1: a number of fixes for a number compilers and platforms. The following people helped with ideas or patches (based on git log, some contributions purely in bugtracker might be missing): Andrew C. 30 July 2013 gperftools 2.1 is out! Just few fixes where merged after rc. Some fixes for debug allocation on POWER/Linux 20 July 2013 gperftools 2.1rc is out! As a result of more than a year of contributions we're ready for 2.1 release.

But before making that step I'd like to create RC and make sure people have chance to test it. Customizing Printf - The GNU C Library. C++ Code Optimizations. Top 10 Ways to be Screwed by "C". To get on this list, a bug has to be able to cause at least half a day of futile head scratching, and has to be aggravated by the poor design of the "C" language.

Top 10 Ways to be Screwed by "C"

In the interests of equal time, and to see how the world has progressed in the 20-odd years since "C" escaped from its spawning ground, see my Top 10 Ways to be Screwed by the Java programming language, and for more general ways to waste a lot of time due to bad software, try my Adventures in Hell page. A better language would allow fallible programmers to be more productive. Infallible programmers, of the type unix' and "C" designers anticipated, need read no further. In fairness, I have to admit that the writers of compilers have improved on the situation in recent years, by detecting and warning about potentially bad code in many cases.

Non-terminated comment, "accidentally" terminated by some subsequent comment, with the code in between swallowed. a=b; /* this is a bug c=d; /* c=d will never happen */ Or consider this: or as. The GNU C Library. Node: Top Next: Introduction Prev: (dir) Up: (dir) This is Edition 0.06 DRAFT, last updated 24 October 1994, of The GNU C Library Reference Manual , for Version 1.09 Beta of the GNU C Library. Introduction Purpose of the GNU C Library. Error Reporting How the GNU Library functions report error conditions.

Memory Allocation Your program can allocate memory dynamically and manipulate it via pointers. Character Handling Character testing and conversion functions. String and Array Utilities Utilities for copying and comparing strings and arrays. Extended Characters Support for extended character sets. Locales The country and language can affect the behavior of library functions. Optimizing C and C++ Code. Embedded software often runs on processors with limited computation power, thus optimizing the code becomes a necessity.

Optimizing C and C++ Code

In this article we will explore the following optimization techniques for C and C++ code developed for Real-time and Embedded Systems. Many techniques discussed here have roots in the material we covered in the articles dealing with C to Assembly translation. A good understanding of the following articles will help: Premature optimization is the root of all evil Donald Knuth wrote, "Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered.

Dennis Ritchie Home Page. Location Dennis Ritchie Bell Labs, Rm 2C-517 600 Mountain Ave.

Dennis Ritchie Home Page

Murray Hill, New Jersey 07974-0636, USA +1 908-582-3770 (office), +1 908-582-5857 (fax) In Memoriam Dennis died in early October, 2011. This is a note from his sister and brothers: As Dennis's siblings, Lynn, John, and Bill Ritchie--on behalf of the entire Ritchie family--we wanted to convey to all of you how deeply moved, astonished, and appreciative we are of the loving tributes to Dennis that we have been reading.

Dennis was an unfailingly kind, sweet, unassuming, and generous brother--and of course a complete geek. We are terribly sad to have lost him, but touched beyond words to realize what a mark he made on the world, and how well his gentle personality--beyond his accomplishments--seems to be understood. C/C++ Reference. Programming in C. Programming in C. Getting Started with LLVM System. Overview Welcome to LLVM!

Getting Started with LLVM System

In order to get started, you first need to know some basic information. First, LLVM comes in three pieces. The first piece is the LLVM suite. This contains all of the tools, libraries, and header files needed to use LLVM. The second piece is the Clang front end. There is a third, optional piece called Test Suite. Requirements Before you begin to use the LLVM system, review the requirements given below. Hardware LLVM is known to work on the following host platforms: Note Code generation supported for Pentium processors and upCode generation supported for 32-bit ABI onlyTo use LLVM modules on Win32-based system, you may configure LLVM with --enable-shared.MCJIT not working well pre-v7, old JIT engine not supported any more.

Note that you will need about 1-3 GB of space for a full LLVM build in Debug mode, depending on the system (it is so large because of all the debugging information and the fact that the libraries are statically linked into multiple tools). Software.