174 Chapter 5
Creating and Using Libraries
Caution When Mixing Shared and Archive Libraries
Figure 5-23
Problem
Here's where the problem can occur in 32-bit and 64-bit +compat modes.
If you do not relink the application, main.o, and just run a.out with the
new version of lib3.sl, the program will execute successfully, but it
will execute two different versions of f2(). main() calls f2() in the
program file a.out and f3() calls f2() in lib12.sl. Even though
f2() is contained within the application, it is not visible to the shared
library, lib3.sl.