c 和 c++
常用库
计算相关
gmp GMP 是一个用于任意精度算术的免费库,可对有符号整数、有理数和浮点数进行操作
libmicrohttpd GNU libmicrohttpd 是一个小型 C 库,可以轻松地将 HTTP 服务器作为另一个应用程序的一部分运行
TCP/UDP 相关
libcurl libcurl 是一个免费且易于使用的客户端 URL 传输库,支持 DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、 RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET 和 TFTP。libcurl 支持 SSL 证书、HTTP POST、HTTP PUT、FTP 上传、基于 HTTP 表单的上传、代理、HTTP/2、HTTP/3、cookie、用户+密码身份验证(基本、摘要、NTLM、协商、Kerberos)、文件传输恢复、http 代理隧道等等!
安全相关
GnuTLS GnuTLS 是一个安全通信库,实现了SSL、TLS 和 DTLS 协议 及相关技术。它提供了一个简单的 C 语言应用程序编程接口 (API) 来访问安全通信协议以及解析和编写 X.509、PKCS #12 和其他所需结构的 API。 该项目致力于提供安全的通信后端、 易于使用并与其他基础 Linux 库集成。后端设计为开箱即用且安全,使 TLS 和 PKI 的复杂性远离应用程序代码。
压缩相关
zlib zlib被设计为一个免费、通用、不受法律限制(即不受任何专利保护)的无损数据压缩库,几乎可以在任何计算机硬件和操作系统上使用.
序列化相关
g++/gcc 安装
yum install gcc
yum install gcc-c++ libstdc++-deve
基本数据类型大小(单位:字节(byte))
sizof(char)=1
sizof(int)=4
sizof(short int)=2
sizof(long int)=8
sizof(long)=8
sizof(float)=4
sizof(uint)=4
sizof(uint16_t)=2
sizof(uint32_t)=4
sizof(uint64_t)=8
sizof(uint8_t)=1
sizof(stru_empty)=1
sizof(stru1)=12
sizof(stru2)=8
sizof(stru3)=12
sizof(stru4)=8
sizof(stru5)=16
sizof(stru6)=20
sizof(stru6.tt)=8
the address of stru6.i=-1112611352
the address of stru6.a=-1112611340
sizof(stru7)=12
sizof(stru7)=1
the address of stru7.i=-1112611368
the address of stru7.a=-1112611366
sizof(ar)=20
sizof(ar.f)=4
sizof(ar.arr)=12