11-29-2011 02:10 PM - edited 11-29-2011 02:14 PM
I've been adding command line PlayBook targeting to my build system, and I stumbled across something I'm curious about.
Inside the lib folders, there are your typical library files like libGLES_CM.a, libGLESv2.a, their .so versions, and so on. However, there are variants of these files with S's in the names: libGLES_CMS.a, libGLESv1_CMS.a, libGLESv2S.a, libEGLS.a, and so on.
What is the S?
I suspected the S might have meant Static, but looking at the file sizes, the S library files are no more than 1-2k larger. Alternatively it could mean Symbols, but I'm not entirely sold on that either. I suppose I could run objdump or nm to find out, but hey, I'm here, so lets ask.
- Mike Kasprzak
Solved! Go to Solution.
11-29-2011 03:58 PM
These are archives containing position-independent (PIC) code. They are suitable for statically linking content into your own shared libraries, which regular .a files wouldn't be because they aren't PIC.
So, for a given library, you can have the same code packaged three ways for different purposes in
- libxyz.so - dynamically linked at run-time
- libxyzS.a - statically linked into a PIC binary such as a shared library
- libxyz.a - statically linked into another archive or an executable program
08-08-2012 08:04 AM - edited 08-08-2012 08:05 AM
Ravi-4u pls pay attention to date of threads in which you are writing posts. You bring alive old dead post, and that causes them to pop alive without new knowledge at all.
Also, you are registered on Monday, and have already 30+ posts, slow down friend, this is no race