Programming/rust2023. 5. 11. 10:10

dynamic link 이고

$ file *
main:    ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=989d3d9b6419e9e16be59fe589ddda8c631c30f0, with debug_info, not stripped
main.rs: C source, ASCII text

 

링크 된걸 보면 c 프로그램과 별 차이가 없긴 한데

$ ldd main
linux-vdso.so.1 (0x00007ffe605de000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efd04cd8000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007efd04ad0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efd048b1000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007efd046ad000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efd042bc000)
/lib64/ld-linux-x86-64.so.2 (0x00007efd05142000)

 

실행 파일 크기가 미친듯이 크다.

golang 처럼 rust 라이브러리 자체는 static으로 link 한건가?

$ ls -alh
합계 12M
drwxrwxr-x  2 user user 4.0K  5월 11 10:06 .
drwxrwxr-x 24 user user 4.0K  5월 11 10:05 ..
-rwxrwxr-x  1 user user  12M  5월 11 10:06 main
-rw-rw-r--  1 user user  148  5월 11 10:06 main.rs

'Programming > rust' 카테고리의 다른 글

rust was  (0) 2023.05.20
c에서 rust 호출하기  (0) 2023.05.11
rust if문  (0) 2023.05.11
rust rustup doc  (0) 2023.05.10
rust cargo new를 통한 프로젝트 생성  (0) 2023.05.09
Posted by 구차니