Brad For Dem Bedded

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 17 January 2011

Shared and Static Libraries

Posted on 04:30 by Unknown
I've been reading An Introduction to GCC: For the GNU Compilers GCC and G++ (also available online for free, from the publisher).  I'm not that experienced with GCC and there's a lot of good information in this book.  It's a little out dated but I believe most still applies to today's versions of GCC.

One part of the book discusses libraries.  I've not really had any experience with libraries and they always seemed to mystify me.  I found this quote to really clear one part of that up:

"External libraries are usually provided in two forms: static libraries and shared libraries. Static libraries are the ‘.a’ files seen earlier. When a program is linked against a static library, the machine code from the object files for any external functions used by the program is copied from the library into the final executable.

Shared libraries are handled with a more advanced form of linking, which makes the executable file smaller. They use the extension ‘.so’, which stands for shared object."

It's simple, straight forward, and now that I understand, I feel silly for previously not understanding libraries.  And besides that, the discussion about LD_LIBRARY_PATH (loader library path) and LIBRARY_PATH (linker library path) is very helpful.  Section 3.1.2 starts a very good explanation.
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in embedded, gcc | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Downsides and Upsides of Altera's Configuration Via Protocol
    Yesterday, I wrote a little about reconfigurable FPGAs attached to the PCI-Express bus as an addition to the general purpose computer. The...
  • Toolchain, Check! Kernel, Check!
    I've been working on the CLFS embedded book for a few months now.  I've been learning a lot and my goal has been to get a CLFS embe...
  • KDE4 Sucks
    I upgraded to Debian 6 Squeeze last weekend on my desktop.  I was very excited to get some more up-to-date packages (git, gcc, kernel, and c...
  • Low Cost ARM Computer
    I was thinking about my ARM + FPGA computer idea some more.  There's already a lot of competition in the single board computer space an...
  • Crypto Load Balancer Using Off The Shelf Hardware
    At my day job, I work a reasonable amount of time with cryptographic and authentication systems. Lately, I've been reading about OpenCL...
  • Embedded Linux and Long Term Support / Updates - Part 2
    In my previous post about embedded Linux long term support, I neglected Ubuntu. I had not realized how much effort Canonical are putting i...
  • The TuxedoBoard has a Brain! (picked out)
    I've chosen an ARM SoC (system on chip) for the TuxedoBoard! The Texas Instruments AM1707 ARM9 core will meet my requirements. The AM1...
  • Pick an ARM ABI When Building GCC
    If you follow the CLFS embedded book for ARM , you'll see that your ABI choice isn't used until compiling packages (ie: after you...
  • SanDisk iNAND
    I stumbled upon SanDisk's iNAND products today while doing some searching about SD cards. The iNAND idea looks very appealing to me co...
  • I'm Writing a Book
    I'm writing a book about embedded Linux but I'm not going to compete with traditional technical books.  O'Reilly isn't my co...

Categories

  • beagleboard
  • blog
  • book review
  • business
  • c
  • chairs
  • clfs
  • community
  • computers
  • crypto
  • db
  • debian
  • disapointment
  • embedded
  • energy
  • fedora
  • flash
  • fpga
  • gcc
  • git
  • google
  • health
  • hp
  • internet
  • iOS
  • learning
  • license
  • linux
  • market
  • microsoft
  • movie review
  • my book
  • next steps
  • open source
  • pandaboard
  • rails
  • software
  • SOPA
  • tuxedo
  • web 2.0
  • webOS
  • windows
  • work

Blog Archive

  • ►  2012 (10)
    • ►  January (10)
  • ▼  2011 (70)
    • ►  December (10)
    • ►  November (9)
    • ►  October (7)
    • ►  September (8)
    • ►  August (1)
    • ►  July (3)
    • ►  June (3)
    • ►  May (3)
    • ►  April (8)
    • ►  March (4)
    • ►  February (5)
    • ▼  January (9)
      • My Embedded Cross Linux From Scratch Git Repo
      • Confusion When Cross Compiling GCC: --without-head...
      • BeagleBoard-xM Datasheets
      • Next Steps - January 2011
      • Micron Is Annoying
      • Low Cost ARM + FPGA Computer?
      • Shared and Static Libraries
      • It's Alive! (The BeagleBoard-xM That Is)
      • The Tale Of Two ARMs: A Christmas Story
  • ►  2010 (16)
    • ►  December (6)
    • ►  November (9)
    • ►  October (1)
Powered by Blogger.

About Me

Unknown
View my complete profile