C/CPP
C/CPP
pompousx
这个作者很懒,什么都没留下…
展开
-
fflush 后怎么调用 fsync
如果想要在使用fflush后调用fsync,可以先使用fflush将缓存区数据写入到内核中,然后再使用fileno函数获取文件描述符,最后再使用fsync将所有文件描述符对应的文件刷入磁盘中。fflush和fsync都是用于将缓冲区的数据刷新到磁盘上,但它们的调用方式有所不同。fflush函数是将缓冲区的数据刷新到内核中,而fsync函数是将内核中所有文件的数据都刷新到磁盘上。以上示例代码在向文件写入数据之后,调用了自定义的。获取文件描述符,并通过该文件描述符来调用。函数刷新缓冲区,在调用。转载 2023-11-13 17:22:37 · 210 阅读 · 0 评论 -
linux 信号编程
【Linux】信号编程(signal)竟能这样做?涨姿势 - 知乎原创 2022-03-22 14:45:02 · 288 阅读 · 0 评论 -
gdb-arm
宿主机IP:192.168.1.151目标板IP:192.168.1.108目标板: 执行 gdbserver 192.168.1.151:6666 test //端口号任意,与宿主机保持一致,test为要调试的程序宿主机: 1.执行 arm-linux-gdb test 或 arm-linux-gdb (gdb)file test 2.(gdb)target remote 192.168.1.108:6666 3.(...原创 2022-02-10 15:43:51 · 448 阅读 · 0 评论 -
linux c tcp传输图片
https://www.cnblogs.com/zkfopen/p/9441797.html原创 2021-06-04 16:02:13 · 761 阅读 · 0 评论 -
[错误总结] 结构体成员赋值,报错expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘__attribute__‘ before ‘.‘ token
如下一段代码:#include "stdio.h"struct str { int a; float b; char c[10];};struct str student;student.a = 4;int main(){ return 0;}执行之后会报错,Error expected '=', ',', ';', 'asm' or '__attribute__' before '.' token造成这种情况的原因是,结构体初始化是.转载 2021-06-28 16:07:47 · 3400 阅读 · 0 评论 -
send返回值
在Unix系统下,如果send、recv、write在等待协议传送数据时,socket被shutdown,调用send的进程会接收到一个SIGPIPE信号,进程对该信号的默认处理是进程终止。此种情况应用就很难查出处理进程为什么退出。SIGPIPE信号:对 一个已经收到FIN包的socket调用read方法,如果接收缓冲已空,则返回0,这就是常说的表示连接关闭.但第一次对其调用write方法 时,如果发送缓冲没问题,会返回正确写入(发送).但发送的报文会导...转载 2021-06-01 17:32:24 · 2665 阅读 · 0 评论 -
程序执行时的内存分配
一、在程序执行期间,变量存储空间有三种:1、静态存储区。内存在程序编译的时候就已经分配好了,这块内存在程序执行期间都存在,存储全局变量和静态变量。2、栈存储区。内存是在程序执行期间才分配的,函数内局部变量及函数参数的存储单元,当函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率高但容量小。3、堆存储区。在程序执行时由程序员用malloc或new申请的内存,程序员自己负责何时用free或delete释放分配的内存。频繁的分配和释放不同大小的堆内存将会产生堆内碎...原创 2021-01-15 09:35:16 · 3340 阅读 · 0 评论