URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 3787
[ Назад ]

Исходное сообщение
"Торрент клиент на ANSI С/C99"

Отправлено pavlinux , 06-Мрт-12 01:31 
Кто знает, иль видел в природе, торрент-клиент на чистом C,
максимум с функциями из glibc ?  

Содержание

Сообщения в этом обсуждении
"Торрент клиент на ANSI С/C99"
Отправлено C.H.A.D.o , 06-Мрт-12 12:44 
> Кто знает, иль видел в природе, торрент-клиент на чистом C,
> максимум с функциями из glibc ?

transmission - (либа на С + cli тоже на С)
btpd - слабо развивается


"Торрент клиент на ANSI С/C99"
Отправлено pavlinux , 06-Мрт-12 13:06 
>> Кто знает, иль видел в природе, торрент-клиент на чистом C,
>> максимум с функциями из glibc ?
> transmission - (либа на С + cli тоже на С)
> btpd - слабо развивается

ldd ./transmission-cli

        linux-vdso.so.1 =>  (0x00007fffff3fe000)
        libevent-2.0.so.5 => /usr/lib64/libevent-2.0.so.5 (0x00007f07c050d000)
        libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f07c02b0000)
        libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007f07c0054000)
        libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007f07bfca3000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f07bfa9f000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f07bf887000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f07bf630000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f07bf413000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f07bf0a6000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f07bee9d000)
        libidn.so.11 => /usr/lib64/libidn.so.11 (0x0000003fd6000000)
        libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x0000003004800000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x0000003fd5800000)
        libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003004c00000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f07c0753000)
        liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x0000003fd2800000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f07bec86000)
        libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003fd1c00000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000003fd5400000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x0000003fd5000000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f07bea82000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x0000003fd4c00000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f07be87f000)

---

Хачу вот так

# ldd чёнить

        linux-vdso.so.1 =>  (0x00007fffbd87e000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f525c59a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f525c22d000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f525c00f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f525ca0e000)


"Торрент клиент на ANSI С/C99"
Отправлено Andrey Mitrofanov , 06-Мрт-12 13:17 
> Хачу вот так
> # ldd чёнить
>         linux-vdso.so.1 =>  (0x00007fffbd87e000)

Статикой собери, будет совсем "мало".


"Торрент клиент на ANSI С/C99"
Отправлено pavlinux , 06-Мрт-12 13:23 
>> Хачу вот так
>> # ldd чёнить
>>         linux-vdso.so.1 =>  (0x00007fffbd87e000)
> Статикой собери, будет совсем "мало".

# ls -la transmission-cli

-rwxr-xr-x 1 root root 9616797 Мар  6 13:22 transmission-cli

:D

---

# upx transmission-cli

   --------------------   ------   -----------   -----------
   9616797 ->   2036512   21.18%  linux/ElfAMD   transmission-cli              


"Торрент клиент на ANSI С/C99"
Отправлено Andrey Mitrofanov , 07-Мрт-12 09:55 
>> Статикой собери, будет совсем "мало".
>  # ls -la transmission-cli
> -rwxr-xr-x 1 root root 9616797 Мар  6 13:22 transmission-cli
> :D

Во-о! Малалцца. B))
> ---
> # upx transmission-cli
>    9616797 ->   2036512   21.18%  

А если димамически слинкованный пожать UPX-ом, подозреваю~~, что _размер будет ещё меньше _и ld-список коротеньким. |) Незадача -- либы всё равно нужны будут~~~


"Торрент клиент на ANSI С/C99"
Отправлено pavlinux , 07-Мрт-12 03:57 
> Кто знает, иль видел в природе, торрент-клиент на чистом C,
> максимум с функциями из glibc ?

Короче вот - https://github.com/pavlinux/ctorrents-plx

# g++ -static-libstdc++  ...

# ldd ./ctorrent
    linux-vdso.so.1 =>  (0x00007fff54550000)
    librt.so.1 => /lib64/tls/x86_64/librt.so.1 (0x00007f3026cc3000)
    libm.so.6 => /lib64/tls/x86_64/libm.so.6 (0x00007f3026a6c000)
    libgcc_s.so.1 => /lib64/tls/x86_64/libgcc_s.so.1 (0x00007f3026856000)
    libpthread.so.0 => /lib64/tls/x86_64/libpthread.so.0 (0x00007f3026639000)
    libc.so.6 => /lib64/tls/x86_64/libc.so.6 (0x00007f30262cc000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3026ecc000)

582697 байт не стрипанный
после strip -  282600 байт
после UPX  - 116584

Можно и 110к, если компилить с -Os.

---