- 博客(9)
- 资源 (1)
- 收藏
- 关注
转载 指针的初始化和赋值
1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:int a = 25;int *ptr = &a;int b[10];int *point = b; int *p = &b[0]; 如
2018-01-05 17:00:58 8700
原创 C语言常用文件操作函数
1、向文件写入一个数据块fwrite函数原型:size_t fwrite(constvoid* buffer, size_t size, size_t count, FILE* stream);注意:这个函数以二进制形式对文件进行操作,不局限于文本文件返回值:返回实际写入的数据块数目参数:(1)buffer:是一个指针,对fwrite来说,是要输出数据的地址;(2)si
2018-01-05 15:23:29 809
原创 linux文件系统及写延迟
一、文件同步 write不能满足要求,需要fsync Linux、unix在内核中设有缓冲区、高速缓冲或页面高速缓冲,大多数磁盘I/O都通过缓冲进行,采用延迟写技术。 对于write函数,我们认为该函数一旦返回,数据便已经写到了文件中。但是这种概念只是宏观上的,一般情况下,对硬盘(或者其他持久存储设备)文件的write操作,更新的只是内存中的页缓存(page cac
2018-01-05 14:59:25 5356
原创 Linux 读写文件时,异常断电或程序异常中止导致文件出错、损坏
一、问题描述Linux系统,嵌入式程序开发。程序运行过程中,有读写配置文件保存当前位置信息的操作。在程序运行过程中突然断电,或者异常终止程序,就会出现配置文件内容出错(内容清空)或者文件直接损坏而无法打开的情况。文件损坏时,可能报出segmentation fault的错误,以致程序没法正常运行。 二、问题分析断电瞬间正在往磁盘写文件。内容丢失:Linux为延迟写(dela
2018-01-05 12:13:18 13173 3
原创 交叉编译与静态链接问题
问题一:交叉编译生成可执行文件,无法在目标板上运行一、问题描述arm-linux-gcc -o name.c 编译程序正常,但可执行文件无法在开发板上运行。提示找不到该文件二、问题排除1. 用gcc编译,可在虚拟机里正常运行,因此不是c文件的问题。2. 试过绝对路径后,确定不是文件存在的问题,而是这个文件并不能被执行. 三、问题分析通过排除法将问题定位到动
2018-01-05 11:22:43 4557 2
原创 segmentation fault 段错误解决方法
一、出现Segmentation Fault 1. 文件打开失败却使用了fclose();fclose找不到指针fp。 解决方法:当打开文件成功,即成功获得文件句柄后,再进行关闭句柄操作。 2. 文件正在写操作,异常断电、程序异常中断,导致文件损坏,在重新上电或者程序重新启动后,以只读方式“r”打开该文件并读取时,系统找不到该文件,报错:Segment fault
2018-01-05 10:49:46 26827
转载 线程控制与线程分离
如果主线程不希望因为调用pthread_join而阻塞(因为还要继续处理之后到来的连接请求),则考虑进行线程分离,可在父线程调用pthread_detach(thread_id)(非阻塞,可立即返回)将该子线程的状态设置为分离的(detached),则该线程运行结束后会自动释放所有资源,避免线程超数无法创建
2018-01-03 20:25:33 386
转载 用pthread_cond_timedwait 高效地确保线程成功返回从而正常退出
多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A来等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在一些未知问题。采用pthread_cond_timedwait(pthread_cond_t*
2018-01-03 17:42:26 4805
H264JM和H265HM参考软件说明.zip
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人