
C语言编程
文章平均质量分 74
一些琐碎的C语言编程相关的知识点,当作平时的记录
坛城
沉心修炼,早日筑基
展开
-
gdb监视
GDB(GNU Debugger)是一个功能强大的调试工具,可以用于在程序运行时监视变量的值,包括在特定条件下触发断点。要监视一个地址上的值并带有条件,你可以使用。命令可以用于监视任何内存地址上的值,但要小心不要访问无效的地址,以避免导致程序崩溃。此外,设置太多的监视点可能会影响程序的性能,所以只在需要时使用它们。在实际情况中,如果怀疑一个进程中的变量被踩内存了,但是不知道什么时候会被踩,就可以用下面的方法进行debug。这将监视地址0x12345678上的32位整数值。原创 2023-09-15 19:52:33 · 2151 阅读 · 0 评论 -
likely和unlikely的用法
在实际使用中,应该基于性能分析和测试结果来确定哪些分支更有可能和不太可能执行,并相应地使用这些宏。如果错误地使用这些宏,可能会导致性能下降,因此建议在优化代码之前进行充分的性能分析。它们通常与条件语句的分支一起使用,以指示哪些分支更有可能执行,哪些分支更不可能执行。在一般的应用程序中,使用这些宏的性能影响可能不明显,因此在普通应用程序中使用它们可能没有太大的必要。例如,在Linux内核中,通常会将likely用于可能出现的快速路径,而将unlikely用于可能出现的慢速路径,以帮助编译器更好地优化代码。原创 2023-09-15 15:02:15 · 754 阅读 · 0 评论 -
linux C语言 socket的server、client 实现
你可以将上述代码分别保存为 server.c 和 client.c,并分别编译成可执行文件,然后在两个不同的终端窗口中运行它们。如果你使用的是不同的编程语言或开发环境,编译步骤可能会有所不同。通常,你需要指定套接字的类型(例如,SOCK_STREAM表示TCP套接字)和地址族(例如,AF_INET表示IPv4地址族)。在实际应用中,不可能像实例一中,server只接收一次,client只向server发送一次。// 关闭套接字, 只要关闭client,server端的recv就不会阻塞了,返回0!原创 2023-09-13 09:32:13 · 2293 阅读 · 0 评论 -
fflush的用法
函数用于刷新文件流的缓冲区,确保已经写入或读取的数据被立即写入或读取到文件中。这种方法会循环读取输入缓冲区中的字符,直到遇到换行符或文件结束符为止,从而清空了输入缓冲区中的内容。的调用通常是可选的,因为标准库会自动管理缓冲区。如果你想要清空输入缓冲区,可以使用其他方法来实现,例如使用一个循环读取并丢弃输入缓冲区中的字符。,因为后者的行为是不确定的,并且在不同的编译器和平台上可能会导致不一致的结果。是一个不被推荐使用的语句,因为它在标准C中的行为是未定义的。是一个指向文件流的指针,可以是标准输入(原创 2023-09-11 15:17:26 · 2985 阅读 · 0 评论 -
机考 出牌顺序 dfs
机考原创 2022-04-22 17:49:26 · 1211 阅读 · 4 评论 -
七种寻址方式
七种寻址方式(从该处学习转载,感谢,如有侵犯,请联系删除)立即寻址操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。立即数寻址方式通常用于对通用寄存器或内存单元赋初值。说白了就是在代码中直接向寄存器赋固定值。MOV AX,4576H;将16位数据4576H传送到AX寄存器寄存器寻址方式指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。把在指令中指出所使用寄存器(即:寄存器的助忆符)的寻址方式称为寄存器寻址方式。寄存器寻转载 2022-01-06 16:38:25 · 8015 阅读 · 1 评论 -
《C语言编程》__asm__ volatile 内联汇编
__asm__ volatile 内联汇编原创 2021-12-31 16:47:58 · 12005 阅读 · 0 评论 -
《C语言编程》关于HAL库的printf的重定向
关于HAL库的printf的重定向原创 2019-08-13 18:06:06 · 6674 阅读 · 2 评论 -
关于函数入口参数是“指针的指针”的用法 void **
最近在看LWIP,看到这样一个函数,因为LWIP做到尽可能的减少内存间复制的处理,所以通常是让应用层直接去操作协议层的netbuf,所以这个函数就是一个获取netbuf指针的函数。可以看到入口参数是void** data。函数内,buf->ptr->payload就是netbuf的指针使用时为什么要传入指针的指针去获取一个指针呢?直接一个指针不行吗?如...原创 2020-04-08 14:15:47 · 1232 阅读 · 0 评论