Linux C++开发
文章平均质量分 56
昰绽至强
你的未来是星辰大海
展开
-
GDB调试基础命令总结
# 假设源文件为hello.cpp,需要编译生成可执行。# 编译时加入-g参数,表示以debug方式编译,支持gdb调试。g++ -g hello.cpp -o hello# 进入gdb调试的两种方式:# 1. gdb hello# 2. 先运行gdb,再start hello(gdb) start //开始调试(gdb) n //一条一条执行(gdb) step/s .原创 2022-03-16 16:40:52 · 282 阅读 · 0 评论 -
UNIX网络编程学习笔记:套接字
1. socket函数socket函数原型如下:#include <sys/types.h>#include <sys/socket.h> int socket(int domain, int type, int protocol);# domain表示套接字要使用的协议簇,常见的有:AF_UNIX(本机通信)AF_INET(TCP/IP-IPv4)AF_INET6(TCP/IP-IPv6)# type表示套接字类型,常用的类型有:SOCK_原创 2022-01-11 15:01:22 · 418 阅读 · 0 评论 -
10分钟搞懂g++编译过程
1.基本编译过程g++可以用于编译C++代码生成可执行程序,从原始代码到生成可执行过程中实际经历了以下4个步骤:1. 预处理:宏替换,注释消除,查找相关库文件等[使用-E参数]。# 只激活预处理,不会自动生成.i文件,如果需要可以重定向到文件。g++ -S hello.cpp > hello.i2. 编译:将预处理后的文件转换成汇编语言,生成.s汇编文件[使用-S参数]。# 直接经过预处理,编译生成.sg++ -S hello.cpp# 将.i文件编译生成.sg+原创 2021-12-11 17:34:51 · 5663 阅读 · 0 评论