The UNIX System Loader - spatial_geostan - 2024.00

Spatial+ Reference for Windows, UNIX/Linux, z/OS

Product type
Software
Portfolio
Locate
Product family
GeoStan Geocoding Suite
Product
GeoStan Geocoding Suite > Spatial+
Version
2024.00
Language
English
Product name
Spatial+
Title
Spatial+ Reference for Windows, UNIX/Linux, z/OS
Copyright
2024
First publish date
1994
Last updated
2024-05-07
Published on
2024-05-07T22:16:04.316305

To build an executable program in UNIX, you'll need an appropriate crt0.o module. Every UNIX environment provides a system loader. This loader usually consists of a section of executable code in the OS kernel referenced with one of the exec() system calls, and a special link module called crt0.o (the name varies with the operating system and compiler). Almost all executable UNIX programs must include the crt0.o module to support the operation of this system loader.

Note: Some systems may include these libraries as part of a "development" option, or with an additional package such as the optimizing compiler. Contact your OS vendor for more information about the standard libraries.

The crt0.o link module tells UNIX how to "enter" your C program. It provides a special state initialization routine called "start" or "_start" which handles a number of system and language dependent initializations for your load module. It then calls the "_main" symbol, initiating program control of the thread or process.

Note: Some systems have several different versions of crt0.o. There may be a different crt0.o for each compiler, language, or environment. Further, the compiler default crt0.o may not suit your needs for a variety of reasons. In this case you may want to use an alternate crt0.o file and manually link with this module to build an executable program.