软件开发
文章平均质量分 52
武爱敏
世上无难事,只要肯登攀
展开
-
Ubuntu 22.04中安装版本为nvidia rtx 2060 465.xx的Nvidia驱动程序
【代码】Ubuntu 22.04中安装版本为nvidia rtx 2060 465.xx的Nvidia驱动程序。原创 2023-05-23 10:45:16 · 713 阅读 · 0 评论 -
在Docker中安装Intel OWT 进行webrtc直播
在Docker中安装Intel OWT 进行webrtc直播一.准备工作1.操作系统CentOS7.6,验证Docker是否安装,sudo docer info,2.网络环境一定要找一台能连接到外网的机器,因为在安装中的过程中会下载一些国外的软件。二.开始安装1.生成镜像(如果不是在docker中安装,请忽略本步)$ sudo docker run -itd --name owt-hevc --privileged=true --net=host -v /home:..原创 2021-03-08 23:48:26 · 1084 阅读 · 0 评论 -
Linux 下在Shell脚本中创建新终端
gnome-terminal -t "title-name" -x bash -c "sh ./run.sh;exec bash;"-t 为打开终端的标题,便于区分。-x 后面的为要在打开的终端中执行的脚本,根据需要自己修改就行了。最后的exec bash;是让打开的终端在执行完脚本后不关闭。原创 2014-01-02 21:54:34 · 21582 阅读 · 2 评论 -
HLS协议实现
一.HLS介绍HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。1、M3U8文件 用文本方式对媒体文件进行描述,由一系列标签组成。#EXTM3U#EXT-X-TARGETDURATION:5#EXTINF:5,./0.ts#EX原创 2013-07-31 21:45:09 · 45896 阅读 · 4 评论 -
SubVersion代码库的回滚 [转载]
我刚开始使用SubVersion时, 想把svn代码库回滚到以前某个版本, 上网找来找去都找不到(那时文档比较少), 让我郁闷了好一阵子. 现在记录一下 SubVersion回滚的方法: 第一种方法: 使用TortoiseSVN进行回滚. 很明显, 这种方法只适用于windows平台. 以下摘自 TortoiseSVN文档:B.4. 回滚版本库里的版本转载 2012-05-08 14:01:31 · 6096 阅读 · 0 评论 -
BAT命令大全
BAT命令大全 1 echo 和 @@ #关闭单行回显echo off #从下一行开始关闭回显@echo off #从本行开始关闭回显。一般批处理第一行都是这个echo on #从下一行开始打开回显echo #显示当前是 echo off 状态还是 echo on 状态echo. #输出一个”回车换行”,空白行转载 2012-02-09 11:15:02 · 811 阅读 · 0 评论 -
Linux中配置VNC服务器
1 check whether the vnc has installed:#rpm -q vnc-server2 install vnc if need#yum install vnc-server3 set the vnc start as boot#chkconfig vncserver on4 close the firewall if need.5 set原创 2012-02-07 14:12:24 · 1291 阅读 · 3 评论 -
Linux中配置samba服务器
1 install samba yum install samba 2 edit /etc/samba/smb.conf to add the folder you want to share. vi /etc/samba/smb.conf [usr] path = /usr writeable = yes; browseable = yes v原创 2011-11-30 17:28:51 · 1686 阅读 · 4 评论 -
Linux core dump的调试技
Linux core dump的调试技术2010-06-02 09:31 zhangzhi baidu 我要评论(0) 字号:T |Tdump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。 以下是Linux core dump的调试技术AD: 有的程序可以通过编译, 但在运行时会出现Segment f转载 2011-11-16 15:23:46 · 732 阅读 · 0 评论 -
Linux 中C文件调用C++代码的方法
Linux 中C文件调用C++代码的方法如何一个C语言的工程中调用C++写成的代码呢?最简单的方法当然是使用g++编译C工程,但有时候可能因为一些限制不能使用g++编译,这时候可以考虑把C++代码Make成一个静态库,再在C代码中调用。具体做法如下:假设有一个类文件如下://My原创 2011-07-12 17:02:19 · 3350 阅读 · 0 评论 -
手把手学习nginx(一)
一、 为什么是nginx高并发:支持Linux上的epoll,Solaris上的event ports和FreeBSD上的kqueue等。单机支持10w以上的并发连接。模块化:高扩展性,由多个不同功能,不同层次,不同类型,耦合度低的模块组成。低内存消耗:10000个非活跃的HTTP Keep-Alive连接仅水碓2.5MB的内存。热部署:master和worke原创 2014-09-26 11:28:14 · 942 阅读 · 0 评论 -
Linux内存越界检测方法——valgrind
Linux内存越界检测方法——valgrind一.Valgrind1.下载安装下载地址:http://valgrind.org/downloads/current.html#current#configure#make#make install2.使用2.1内在越界写一段有内存访问越界的代码,如下:#include #include原创 2015-01-12 09:09:51 · 15590 阅读 · 0 评论 -
srt-live-server:一款基于SRT的毫秒级低延时直播服务器
目前互联网上的视频直播有两种,一种是基于RTMP协议的直播,这种直播方式上行推流使用RTMP协议,下行播放使用RTMP,HTTP+FLV或者HLS,直播延时一般大于3秒,广泛应用秀场、游戏、赛事和事件直播,满足了对交互要求不高的场景;另一种是WebRTC协议的直播,这种直播方式使用UDP的协议进行流媒体的分发,直播延时小于1秒,同时连接数一般小于10个,主要应用在视频通话、秀场连麦等应用场景。...原创 2019-05-16 12:15:46 · 18608 阅读 · 14 评论 -
STL的list和map使用的几个小问题
1.list的front函数和back函数,在list空时,直接调用,在不同平台上返回结果不同,会返回未知错误,因此调用前务必要判断是否空。Calling this function on anemptycontainer causes undefined behavior.2.map的[]操作符,可以用来进行键值赋值,但不可以直接用来判断或赋值给其它变量,如:std::map<...原创 2019-05-10 15:38:50 · 2239 阅读 · 1 评论 -
移动端开发测试,手机如何绑定指定Host
手机如何绑定指定Host 进行网络应用的开发测试,有时会需要把域名绑定到指定的IP地址,在PC上,一般我们通过修改HOSTS文件的方法,增加域名和IP的对应关系即可,但在智能手机上进行测试时,如何绑定IP呢? 如果有ROOT权限,也可以像PC上一样,绑定HOST即可,但ROOT是一个有风险的操作,在这里介绍一种通过DNS劫持的方法来实现域名和IP的绑定方法。 1. 环原创 2016-02-01 00:29:56 · 19026 阅读 · 2 评论 -
Redis+twemproxy(nutcracker)实现Redis多集群方案
Redis+twemproxy(nutcracker)实现Redis多集群方案 通过twemproxy(redis-proxy)构建Redis多集群方案,实现Redis的横向扩展。 测试环境:三台机器:A:IP:192.168.154.100 安装twemproxyB:IP:192.168.154.25 安装ReidisC:IP:192.168.154.29 安原创 2015-12-30 15:23:01 · 8207 阅读 · 0 评论 -
CentOS 64位 无法生成Core文件解决方法。
通常情况下,只要设置了ulimit -c unlimited,在程序崩溃后就会在当前目录下生成core文件,但最近发现在有的机器上,即使设置了上述参数也不会生成core文件。网上有人总结出一般问题出在下面四个方面:在下列条件下不产生core文件:( a )进程是设置-用户-ID,而且当前用户并非程序文件的所有者;( b )进程是设置-组-ID,而且当前用户并非该程序文件的组所有原创 2015-03-19 09:36:32 · 6936 阅读 · 0 评论 -
VirtualBox修改虚拟机磁盘VDI的大小
虚拟机在使用的过程中,有时会遇到磁盘大小不够用,如果设置了”动态分配存储“,可以通过下面的方法对磁盘的空间进行手动扩展。1.启动CMD命令行,进入VirtualBox的安装目录。如cd E:\Program Files\Oracle\VirtualBox2.查看需要修改的虚拟硬盘:E:\Program Files\Oracle\VirtualBox>VBoxManage.e原创 2014-10-16 15:51:20 · 10656 阅读 · 4 评论 -
80386保护模式
一、保护模式简述<br />在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持;支持多任务,能够快速地进行任务切换和保护任务环境;4个特权级和完善的特权检查机制,既能实现资源共享以能保证代码及数据的安全和保密、及任务的隔离。<br />80386采用称为描述符(descriptor)的数据来描述段的位置、大小和使用情况。虚拟存储器的地址(逻辑地址)由指示描述符的选择转载 2011-02-09 13:39:00 · 1353 阅读 · 0 评论 -
80386控制寄存器
控制寄存器80386有4个32位控制寄存器,分别命名为CR0、CR1、CR2、CR3。但CR1被保留,供今后开发的处理器使用,在80386中不能使用CR1,否则将引起无效指令操作异常。CR0包含指示处理器工作方式的控制位,包含启用和禁用分页管理机制的控制位,包含控制浮点协处理器操作的控制位。CR2及CR3由分页管理机制使用。CR0中的位5~位30及CR3中的位0~位11是保留位,这些位不能随意值,必须为0。控制寄存器CR0中的位0用PE标记,位31用PG标记,这两个位控制分段和分页管理机制的操作。把它们称保转载 2011-02-09 12:03:00 · 996 阅读 · 0 评论 -
DirectShow开发总结
环境的建立1.在VC工具栏中,选择Tools->Options->Directories.2.选择“Include files”,应包括目录“C:/DXSDK/Include”和“C:/DXSDK80/SAMPLES/MULTIMEDIA/DIRECTSHOW/BASECLASSES”。3.编译“C:/DXSDK80/SAMPLES/MULTIMEDIA/DIRECTSHOW/BASECLASS原创 2009-11-04 09:16:00 · 765 阅读 · 0 评论 -
Windows XP英文版安装中文语言包来解决无法显示中文的方法(转载)
由于工作需要,装了台英文版的XP,可是发现无法识别中文,费了好多劲,找了好多资料问题终于得到解决,拿来分享给大家: ①Start→Control Panel→Regional and Language Options→选择Languages选项卡→勾选两个复选框的第二个(Instal files for East Asian languages),不要选第一个,然后点击OK按钮,系统会弹出对转载 2009-07-06 18:19:00 · 3985 阅读 · 4 评论 -
Windows环境下多语言版本软件的开发
一 背景介绍在2005年,我曾经写过一篇文章《多语言版本软件产品的开发》,介绍了使用资源DLL的方法进行多语言软件的开发,主要做法是把软件中的资源独立出来,生成DLL文件,以当前语言的DLL文件为基础,生成不同语言的DLL文件,软件运行时,在初始化阶段根据用户的设置调用相应的语言的DLL文件,并把该DLL文件设置为当前资源文件。这种方法对于单独一个EXE的软件来讲,是一个不错的办法,但对于包括原创 2009-07-06 17:10:00 · 3207 阅读 · 1 评论 -
#pragma 预处理指令详解
#pragma 预处理指令详解 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para转载 2009-07-23 10:47:00 · 532 阅读 · 0 评论 -
汇编语言指令集
汇编语言指令集 一、数据传输指令 1. 通用数据传送指令.MOV (MOVe) 传送字或字节.MOVS (MOVe String) 串传送指令MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA转载 2009-07-24 09:00:00 · 1051 阅读 · 0 评论 -
多语言版本软件修改 步骤
多语言版本软件更改,考虑对函数进行封装,写一个多语言的类,另外需要做好两项目工作,一是时间计划。二是更改的步骤。步骤:1 对于整个工程,逐个文件进行改造。2 如果资源中存在字符串资源,对字符串资源进行预生成工作。3 对于所有预生成工作完成后,屏蔽预生成代码,复制文件,手动修改为需要的多语言版本,测试。后面所有预生成工作操作相同。4 如果文件存在使用对话框或框架资源,进行预生成,测试多语言。5 如果原创 2009-07-16 09:00:00 · 996 阅读 · 0 评论 -
标签页巧配对话框
在使用VC进行用户界面设计时,因为显示的选项比较多,有时我们会用到标签页(CTabCtrl)。在用户切换不同的标签页时,需要显示相应的内容,一种常见的做法是,把所有要显示的控件都放在标签页所在对话框,根据用户的切换,动态调整控件的显示。在这儿,提出一种标签页和对话框配合使用的方法,就是当用户切换不同的标签页选项(Sheet)时,显示不同的对话框。 假设我们的标签页有两个Sheet,原创 2009-02-26 14:43:00 · 1868 阅读 · 0 评论 -
PE文件学习总结
PE文件学习总结 作为程序员,Exe、DLL是我们再熟悉不过的“老朋友”了,但对于它们的结构,你是否有所了解(了解的朋友可以免读本文)? 现在,使用UltraEdit或其它二进制文件编辑工具打开一个Exe文件(在这儿我打开“HelloWorld.exe”,你可以从机器上任选一个),如下图所示:图1“天书”!很可怕啊!能不能找到其中有什么规律呢? 微软给Ex原创 2008-11-10 22:46:00 · 1274 阅读 · 0 评论 -
w32Time服务(NTP)的一些配置
w32Time服务(NTP)的一些配置 在XP系统中,要将本机设为时间服务器,除了需要设置HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpServer下的Enabled为1外,还需要将HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Ser转载 2009-10-28 17:12:00 · 2024 阅读 · 0 评论 -
C/C++编译链接错误解决方法 汇总
Q:VC写DLL中"error LNK2005: _DllMain@12 already defined"A:, 你只需要在工程设置里面,把WIN32,NDEBUG,_WINDOWS,_MBCS,_USRDLL,MSGBOX_EXPORTS,_WINDLL,_AFXDLL中的_USRDLL,删除,就可以正确编译了,因为_USRDLL和AFXDLL冲突。 Q:LIBCMTD.lib(原创 2010-04-29 07:56:00 · 847 阅读 · 0 评论 -
Linux信号简介和信号处理相关函数
Linux信号简介和信号处理相关函数2009-04-28 09:541) SIGHUP 本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联. 2) SIGINT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出 3) SIGQU转载 2010-05-16 21:53:00 · 775 阅读 · 0 评论 -
Linux下使用bochs虚拟机问题(cannot connect to X server)解决
Linux下使用bochs虚拟机问题解决Q: 运行bochs后,提示:cannot connect to X server.A: 在终端机器(Windows)上下载Xming-6-9-0-31-setup.exe,安装完成后并运行,修改终端的设置,在SSH中如下:重启SSH,并运行bochs。原创 2011-01-26 10:10:00 · 7257 阅读 · 0 评论 -
source insight的快捷键总结(转载)
source insight的快捷键总结Exit 退出程序 : Alt+F4Redraw Screen 重画屏幕 : Ctrl+Alt+SpaceBack Tab : Shift+TabBackspace : Shift+BackSpaceComplete Symbol 完成语法转载 2010-11-23 10:59:00 · 1170 阅读 · 0 评论 -
Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图(转载)
<br />Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图(转载) 收藏<br />此文为转载的文章,文章出处地址如下:http://siulyn.blog.163.com/blog/static/6245583620087252539344/<br />目录<br />1.安装&破解Rational Rose 2003<br />1.1 安装Rose 2003<br />1.2 破解Rose 2003<br />2. Rational Rose 2003转载 2010-11-19 16:47:00 · 1284 阅读 · 0 评论 -
gdb 常用命令
<br />Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。<br />和所有常用的调试工具一样,gdb提供了以下功能:<br /> # 监视程序中变量的值<br /> # 在程序中设置断点<br /> # 程序的单步执行<br />在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参数来打开程序的调试选项。<br />调试开始时,转载 2011-01-13 10:06:00 · 568 阅读 · 0 评论 -
[转载]windows 常用快捷键
<br />最大化ALT+空格+X<br />最小化ALT+空格+N<br />恢复 ALT+空格+R<br /><br />F1 显示当前程序或者Windows的帮助内容。<br /><br />F2 当你选中一个文件的话,这意味着“重命名”<br /><br />F3 当你在桌面上的时候是打开“查找:所有文件” 对话框<br /><br />F10或ALT激活当前程序的菜单栏<br /><br />windows键或CTRL+ESC 打开开始菜单<br /><br />CTRL+ALT+DELETE转载 2011-01-04 09:44:00 · 681 阅读 · 0 评论 -
远程安装Linux操作系统
一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。不过,这种安装方法在以下的几种情况下就不能适用:无软驱和光驱:非常多公司为了节省成本,计算机一般都不带光驱或软驱,这样就无法通过本地安装Linux; 非标准的软驱和光驱:虽然笔记本都会设置光驱,不过并不一定都是标准的IDE设备,有些是通过USB接口,有些是通过1394接口(例如Samsung 的Q10)。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux; 另外,转载 2010-12-22 14:40:00 · 7868 阅读 · 0 评论 -
架设FMS服务器,外网无法访问解决办法。
<br />查找外网无法访问Linux的原因。修改/etc/networks中的项 <br />default 218.241.81.243可以通过外网访问。 <br />其中 218.241.81.243是输出网关原创 2010-09-16 17:31:00 · 2762 阅读 · 0 评论 -
FMS3.5 Linux (Centos 5.3)安装
牛股中国FMS3.5 Linux (Centos 5.3)安装2009-10-05 14:04近期对adobe FlashMediaServer 产生了浓厚的兴趣。<br />本人比较喜欢Linux 并且2台服务器也是Linux的,安装的操作系统是 Centos 5.3。<br /><br />查阅了相关资料,分别在2台服务器上成功安装 FlashMediaServer3.5.<br />这里做个笔记,方便自己,服务他人。<br /><br />首先我们要拿到安装包。<br />本人是从adobe官网下载的转载 2010-08-27 14:14:00 · 3265 阅读 · 3 评论 -
线程池(翻译自MSDN)
线程池(翻译自MSDN) 在许多应用程序中,有时我们创建的线程大部分时间是在等待某个事件的发生,还有一些线程只是在一些状态信息发生改变或更新时才被周期性地唤醒。线程池,以提供给我们的应用程序一个工作线程(worker thread)的容器的方式(容器中的线程由系统管理),使得我们能够更加有效地使用线程。我们可以使用一个线程去监视线程池中所有的排队等待的操作的状态,当一个等待的操作完翻译 2008-11-10 22:38:00 · 2713 阅读 · 0 评论