Creating and Using Libraries

 

Switching from Archive to Shared Libraries

 

rearrange data in shared libraries, this is no longer guaranteed. Another

 

example is a function that assumes variables it declares statically (for

 

example, C static variables) reside below the reserved symbol _end in

 

memory (see end(3)). In general, it is a bad idea to depend on the relative

 

addresses of global variables, because the linker may move them around.

 

In assembly language, using the address of a label to calculate the size of

 

the immediately preceding data structure is not affected: the assemblers

 

still calculate the size correctly.

 

Stack Usage

 

To load shared libraries, a program must have a copy of the dynamic

 

loader (dld.sl) mapped into its address space. This copy of the dynamic

 

loader shares the stack with the program. The dynamic loader uses the

 

stack during startup and whenever a program calls a shared library

 

routine for the first time. If you specify -B immediate, the dynamic

 

loader uses the stack at startup only.

 

For 32-bit mode only:

NOTE

 

Although it is not recommended programming practice, some programs

 

may use stack space “above” the program's current stack. To preserve the

 

contents “above” the program's logical top of the stack, the dynamic

 

loader attempts to use stack space far away from program's stack

 

pointer. If a program is doing its own stack manipulations, such as those

 

implemented by a “threads” package, the dynamic loader may

 

inadvertently use stack space that the program had reserved for another

 

thread. Programs doing such stack manipulations should link with

 

archive libraries, or at least use immediate binding, if this could

 

potentially cause problems.

 

Also be aware that if a program sets its stack pointer to memory

 

 

allocated in the heap, the dynamic loader may use the space directly

 

“above” the top of this stack when deferred binding of symbols is used.

 

Version Control

 

You can maintain multiple versions of a shared library using

 

library-level versioning. This allows you to make incompatible changes

 

to shared libraries and ensure programs linked with the older versions

 

continue to run. (See “Library-Level Versioning” for more information.)

160

Chapter 5

Page 160
Image 160
Kenwood HP 9000 manual Stack Usage, Version Control, 160

HP 9000 specifications

The Kenwood HP 9000 is a cutting-edge home appliance designed for culinary enthusiasts seeking to elevate their cooking experience. This powerful kitchen machine stands out for its multi-functionality, combining the roles of a food processor, blender, and mixer into one sleek unit.

One of the flagship features of the Kenwood HP 9000 is its robust motor, which delivers exceptional performance across various tasks. With a powerful motor that operates at multiple speeds, users can tackle everything from kneading dough to finely chopping vegetables with ease. The variable speed control allows for precision, ensuring that every ingredient is processed to perfection according to individual preferences.

The HP 9000 comes equipped with a variety of attachments that enhance its versatility. Among these are a stainless-steel mixing bowl, a dough hook, a whisk, and multiple cutting blades. This extensive array of accessories means that users can whip up delightful pastries, create homemade pasta, or prepare smoothies with minimal hassle. Each attachment is designed for easy attachment and removal, making the transition between tasks seamless and efficient.

Another key characteristic of the Kenwood HP 9000 is its advanced safety features. The design incorporates mechanisms that prevent the machine from operating unless all components are securely in place. This not only gives users peace of mind while cooking but also ensures longevity for the appliance, reducing the risk of wear and tear over time.

In terms of design, the HP 9000 is both modern and aesthetically pleasing. Its ergonomic shape and compact size make it easy to store and use in various kitchen settings, while the high-quality materials used in its construction guarantee durability and longevity. The user interface is intuitive, with clearly labeled buttons that facilitate operation, ensuring that even novice cooks can navigate the machine effortlessly.

Additionally, the Kenwood HP 9000 features innovative technologies, such as an integrated digital timer and a pulse function for added control during food preparation. These features enhance cooking precision, allowing users to achieve consistent results every time.

In summary, the Kenwood HP 9000 is an exceptional kitchen appliance that combines power, versatility, and safety. With its advanced features and user-friendly design, it is an ideal choice for anyone looking to simplify their cooking process while achieving professional-level results. Whether you're whipping up a quick meal or tackling an elaborate recipe, the HP 9000 is a reliable companion that will inspire culinary creativity.