리눅스에서 .so 파일은 동적 라이브러리 역할을 합니다. so 파일은 32bit 용으로 작성될 수도, 64bit 용으로 작성될 수도 있습니다. 윈도우에서 dll도 32, 64 비트용이 구별되어 있는 것과 마찬가지 입니다.
리눅스에선 file 명령어를 이용하면 쉽게 확인이 가능합니다. file 명령어는 AIX 같은 유닉스에서도 정상 동작합니다.
file [so 파일명]
예를 들어 /usr/lib64 경로에 있는 아무 so 파일로 확인해보겠습니다.
[root@localhost lib64]# file libgom-1.0.so.0.1.0
libgom-1.0.so.0.1.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=61f1b80b7475ea8785f3fa47158f7f306ccdbdb0, stripped
ELF 64-bit 라고 써 있습니다. 64 비트용 공유 라이브러리인 걸 알 수 있습니다. x86-64 아키텍처용으로 작성되었구요.