Programming/rust
rust 실행파일
구차니
2023. 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 |