c
文章平均质量分 93
王二の黄金时代
碰到问题,就解决问题
展开
-
linux c代码获取当前进程打开了哪些文件
查看当前进程打开了哪些文件, (同一个线程之间共享进程打开的文件描述符), 如果是在linux终端,可以 lsof -p pid 即可查看对应进程打开的文件,或者查看 proc/pid/fd, 现在想要在代码中获取当前程序打开了哪些文件, 也可以通过 读取 proc/pid/fd进行查看,如下:如果权限允许的话也准备将改demo写成jni给到app中使用,可以方便查看app具体打开占用了哪些文件。demo结果:同 ls -lh /proc/pid/fd 效果一样,左边是对应的文件描述符 fd值,右边是指原创 2020-09-18 15:51:25 · 1011 阅读 · 0 评论 -
static修饰符
总结一下c, c++中关于static的理解:(static 个人认为可以理解为限定其存储空间和作用域,而const,理解为限制其访问权限)c语言中: 1.0 修饰局部变量:定义只会被执行一次,被放在静态区,延长了它的生命周期,直到程序结束之后才释放。 2.0 修饰全局变量,表示只能在本文件中使用,限定作用域 3.0 修饰函数,同修饰全局变量一样...原创 2019-02-23 00:32:21 · 823 阅读 · 0 评论 -
vlc源码分析--issue (未完待续)
最近分析VLC源码,很是疑惑,虽然来百度也能找到很多关于vlc源码结构的技术博客,不过大体都讲的vlc几个模块的概述而已,寻寻觅觅终无所获,实在太过空虚,不如索性直接探究源码,毕竟,所有的措辞,他就在源码里面,实实在在真真切切,它就在那里,一览无余。自此一入源码深似海。源码大致的结构,已经在其他文章有所描述,个人也写过关于它的makefile分析和函数流程图的博客,此篇不在赘述,而是想列几个问...原创 2019-02-28 17:30:02 · 3223 阅读 · 1 评论 -
vlc源码分析--结构体使用
针对这些结构体+指针的使用,自己专门整理了下,主要从oop面向对象的思想进行了对比,方便理解其中的妙处。(纯属个人见解)1.0 公共形式和差别化定义(..,.不知道有没有一个专门的描述,自己给起的 ( ̄□ ̄||) )由于基本上是C写的框架(个人前期用的多的是C,对于java中动不动就框架架构什么的概念 没有那么特别划分,纯c,开源,其实就已经弱化了这个 “框”的概念了,你有需要大可改进,不...原创 2019-04-02 14:17:20 · 616 阅读 · 0 评论 -
c 语言宏定义实现字符串常量添加固定头或尾
有的时候需要创建打开一个指定目录下的多个文件,各个文件名都有共同的路径前缀,用宏定义,来实现给 字符串添加固定的前缀:#include<stdio.h>#define LOG_PATH "/work/temp/"#define LOG_FILE(x) LOG_PATH xint main(){ printf("%s\n",LOG_FILE("log1")); re...原创 2019-07-12 21:27:40 · 1675 阅读 · 0 评论 -
linu进程间通信,线程间同步
(以下纯属个人见解)对于进程,多数的关注重点是在于 两个进程之间的通信,其实也存在同步的机制包含在"通信"里面,只是不同的进程拥有独立的地址空间,互不干涉,所以重点在于怎样让连个进程进行数据往来交流。而线程,属于同一个进程创建的线程本来就是共享一些资源,所以讨论的侧重点也就不在于交流数据,而在于并发的时候怎么确保其和谐相处而不至于对一些公用的资源进行不合理的并发访问。这就是同步。但是对于...原创 2019-07-09 22:44:10 · 356 阅读 · 0 评论 -
h264测试文件--从h.264文件读取单独帧模拟视频流
测试服务器需要一个h264流,从h264文件读取流的函数实现: c语言版本注意需要h264文件开头即为00 00 00 01/******20190828 canok*** output: complete frames**/#include<stdio.h>#include<stdlib.h> #include <unistd.h>...原创 2019-08-28 18:10:10 · 5093 阅读 · 0 评论