- 博客(24)
- 资源 (155)
- 问答 (1)
- 收藏
- 关注
原创 linux动态共享库的设置--/etc/ld.so.conf和/etc/ld.so.cache
可执行程序找不到要链接的动态共享库,这是Linux上面编译和运行程序很容易碰到的问题,通过上面的小例子,我们已经大致了解共享库的一点基本原理,接下来我们要探讨一下怎么设置程序寻找动态共享库的行为。Linux操作系统上面的动态共享库大致分为三类:1、操作系统级别的共享库和基础的系统工具库比方说libc.so, libz.so, libpthread.so等等,这些系统库会被放在/li
2016-12-31 10:51:52 912
原创 CentOS上安装Darwin Streaming Server
下面开始介绍CentOS上安装Darwin Streaming Server搭建RTSP流媒体服务器的方法:一、首先说明下我的系统环境:CentOS 6.5 64位最小化安装(用的CentOS-6.5-x86_64-minimal.iso),关闭iptables和SELINUX:# chkconfig iptables off# vi /etc/sysconfig/selinux(
2016-12-31 08:35:47 1569
原创 Linux下的tar压缩解压缩命令详解
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出
2016-12-30 22:01:29 226
原创 Linux多线程——使用信号量同步线程
这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行
2016-12-30 16:16:38 1016 1
原创 Linux多线程——使用互斥量同步线程
前文再续,书接上一回,在上一篇文章:Linux多线程——使用信号量同步线程中,我们留下了一个如何使用互斥量来进行线程同步的问题,本文将会给出互斥量的详细解说,并用一个互斥量解决上一篇文章中,要使用两个信号量才能解决的只有子线程结束了对输入的处理和统计后,主线程才能继续执行的问题。一、什么是互斥量互斥量是另一种用于多线程中的同步访问方法,它允许程序锁住某个对象
2016-12-30 16:13:41 290
原创 ffmpeg编解码的线程数限制
ffmpeg 内部avcodec_open2后, m_pVideoCodecContext->thread_count 的数量与cpu内核数相同。所以如果编解码视频数量过多,而且cpu内核数也很大,很容易将整个进程线程数变得很大。而当一个进程线程数大于1000后,该进程将被系统自动杀死。
2016-12-30 14:20:50 10552 1
原创 调用live555库lib的顺序
使用live555 开发的时候遇到一些链接不到的问题,我遇到的是HashTable这货的链接不到,类似live555 undefined reference to `HashTable::create(int)'报了一大堆,原来是链接库文件的顺序问题-lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnviro
2016-12-30 10:24:40 416
原创 #if, #ifdef, #ifndef, #else, #elif, #endif的用法
#elif是预处理指令,跟#if等一起用,进行条件编译,比较完整的格式应该是:#elif 条件 表达式;………#else 条件 表达式;#if 条件 表达式;#endif;条件和表达式语句间用空格分开elif相当于else if,判断中间可以弄n个elif条件判断完最后一定要加#endif哦! 这些命令可以让编译器进行简单的逻辑控制,当一个文
2016-12-30 10:01:55 401
原创 Linux ./configure 常用命令
Linux下源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下:-bash-3.00# ./configure --helpUsage: c
2016-12-30 07:34:41 1773
原创 在CentOS上解压含有中文名的ZIP文件出现乱码的解决办法
CentOS7下通过yum安装p7zip现象云ECS主机上,没有装p7zip,然后通过yum安装,发现也没有这样包。再仔细检查了下,发现本机环境中,没有启用epel源,致使通过yum无法安装p7zip包。分析想装上p7zip,无外乎下面三种方式: 1. 源码编译安装; 2. 下载rpm二进制包,手动安装; 3. 通过yum直接自动安装;法一:需要有编译环境,然后下载
2016-12-29 22:39:41 5323
原创 图解符号链接和硬链接的区别和i节点的介绍
我们先来介绍一些linux文件系统的知识。我们知道 linux中一个文件具有很多属性,uid,gid,文件大小,访问权限,文件内容block位置等。这些内容是和文件中的实际内容分开放的。文件的属性是放在叫做 i节点的结构中 ,而文件内容则放在数据块中。这个 inode(i节点) 和block(数据块)是文件系统一开始就规划好的,并且不会改变(除非你格式化)。那么这个i 节点
2016-12-29 22:06:41 4809
原创 centos 安装Visual Studio Code
大家好,今天我们一起来学习如何在 Linux 发行版中安装 Visual Studio Code。Visual Studio Code 是基于 Electron 优化代码后的编辑器,后者是基于 Chromium 的一款软件,用于为桌面系统发布 io.js 应用。Visual Studio Code 是微软开发的支持包括 Linux 在内的全平台代码编辑器和文本编辑器。它是免费软件但不开源,在专有软
2016-12-29 21:49:50 7894 1
原创 dss源码分析1:OSMutex
OSMutex 内部使用/* * * @APPLE_LICENSE_HEADER_START@ * * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * * This file contains Original Code and/or Modifications of Original Cod
2016-12-29 18:26:31 830
原创 TryEnterCriticalSection
EnterCriticalSection,如果遇到还没释放的,线程会阻塞住。 if ( TryEnterCriticalSection(&m_cs_XX) != 0 ) { // do something LeaveCriticalSection(&m_cs_XX);} 如果EnterCriticalSectio
2016-12-29 18:12:54 2319
转载 使用pjsip传输已经编码的视频
pjsip功能很强,做sip rtp语音通话库首选。在2.0之后,也支持视频。不过,它的视频功能缺省是从视频设备采集,然后进行编译,再发送出去的。假设,我们已经有了视频源,比如IP摄像机,不需要采集和编码这个过程,怎么处理呢?假设我们采用pjsip附带的pjsua为例。通常的方法:1 把视频源当然文件来处理,sample有。不过这种方法用的不多。2 修改vid_stream.c,在
2016-12-29 18:04:21 3043 1
原创 C语言中的__FILE__、__LINE__和#line
C语言中的__FILE__用以指示本行语句所在源文件的文件名,举例如下(test.c):#include int main(){printf("%s\n",__FILE__);}在gcc编译生成a.out,执行后输出结果为:test.c在windows的vc6.0下编译执行结果为:c:\documents and settings\administr
2016-12-29 18:00:41 314
原创 strncmp函数
函数原型:extern int strcmp(char *str1,char * str2,int n)参数说明:str1为第一个要比较的字符串,str2为第二个要比较的字符串,n为指定的str1与str2的比较的字符数。 所在库名:#include 函数功能:比较字符串str1和str2的前n个字符。 返回说明:返回整数值:当str1str2时
2016-12-29 16:56:34 3574
原创 strlen和sizeof的区别
一、sizeof sizeof(...)是运算符,而不是一个函数。 一个简单的例子:int a;cout 在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的
2016-12-29 16:50:30 293
原创 strncat用法
strncat 原型:extern char *strncat(char *dest,char *src,int n); 用法:#include 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src
2016-12-29 16:40:05 471
原创 static作用(修饰函数、局部变量、全局变量)
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable
2016-12-29 16:33:09 311
原创 strncpy()函数详解
strncpy()函数原型:extern char *strncpy(char *dest, char *src, int n); 用法:#include 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。 说明:如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。 如果src的长度小于n个字节,
2016-12-29 16:19:43 17783
原创 centos7下安装ffmpeg
1.安装ffmpeg1.获取依赖包可以按照以下网址联网下载最新版本或者使用安装包里面的软件yasmwget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gzx264wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2f
2016-12-29 11:34:09 7707 1
zlmediakit-windows zlmediakit-windows zlmediakit-windows
2024-06-18
libuvc 相关代码 k230
2023-12-22
live555 vs2022
2023-11-22
多分辨率264,265文件多分辨率264,265文件多分辨率264,265文件多分辨率264,265文件多分辨率264,265
2023-07-05
macbook 2017 bootcamp win10 安装
2023-01-29
绘制流程图工具 绘制流程图工具
2022-11-06
音频文件数组转成c语言的数组
2022-09-08
数字音频接口(I2S,PCM,TDM,PDM)数字音频接口(I2S,PCM,TDM,PDM)数字音频接口(I2S,PCM,TDM
2022-06-24
音频测试文件,各种格式集合 wav pcm mp3
2022-04-28
cmake笔记 cmake 笔记 cmake笔记 cmake
2022-02-01
qt 多窗口yuv零拷贝渲染.rar
2021-11-26
drm-example.zip
2021-11-12
Jz2440_驱动二期笔记.zip
2021-11-02
u-boot-jz2440源码
2021-10-31
webrtc ulpfec无法全部还原丢失包问题
2020-09-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人