The System Library: libSystem

In Darwin, much is built into the system library, /usr/lib/libSystem.dylib. In particular, the following libraries are included in libSystem:

libc

The standard C library. This library contains the functions used by C programmers on all platforms.

libinfo

The NetInfo library.

libkvm

The kernel virtual memory library.

libm

The math library, which contains arithmetic functions.

libpthread

The POSIX threads library, which allows multiple tasks to run concurrently within a single program.

libdlcompat

This library provides functions, such as dlopen( ), that interface to the dynamic linker using the native dyld, NSModule, and NSObjectFileImage functions.

libdbm

Database routines.

Symbolic links are provided as placeholders for these libraries. For example, libm.dylib is a symbolic link in /usr/lib that points to libSystem.dylib. Thus, -lm or -lpthread do no harm, but are unnecessary. The -lm option links to the math library, while -lpthread links to the POSIX threads library. Since libSystem provides these functions, you don’t need to use these options. However, you should use them to make sure your application is portable to other systems. (Since libm. dylib and libpthread.dylib are symbolic links to libSystem.dylib, the extra -l options refer to the same library.)

Warning

In Mac OS X 10.1 and earlier versions, the curses screen library (a set of functions for controlling a terminal display) was part of libSystem.dylib. In Mac OS X 10.2 and 10.3, the curses library ...

Get Mac OS X Panther for Unix Geeks, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.