自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (7)
  • 收藏
  • 关注

原创 用MinGW的gcc编译com组件

因为特殊原因需要用gcc编译com组件还不是vc首先代码得写纯C++的,不用借用ATL和MFC,这个网上蛮多的我们用到的是需要idl文件的,借用VC的MIDL得到XX_i.c XX_p.c  XX.h文件还有tlb文件主要是tlb文件,没有tlb文件编译出来的com找到COM方法把tlb加到XX.rc资源文件里,用MinGW下的windres把资源编入XX.o文件windres resource....

2018-06-06 17:45:35 1710 1

原创 关于纯C++编写的com组件在vb.net等其他语言引用出错问题

纯C++编写com组件网上的例子蛮多大家可以自选搜索,写出来的com可以注册成功VC调用也没问题,但是用vb.net去调用时引用却不行会有以下错误这是因为没有把TypeLib写入注册表,添加以下写注册表代码就可以了HRESULT RegisterTypeLibServer(const CLSID& clsid, const TCHAR *szVersion, const TCHAR *sz...

2018-06-06 17:34:14 483

转载 golang emoji表情处理

package util import ( "regexp" "strconv" "strings") //表情解码func UnicodeEmojiDecode(s string) string { //emoji表情的数据表达式 re := regexp.MustCompile("\\[[\\\\u0-9a-zA-Z]+\\]") /

2017-09-01 15:04:43 5495 1

原创 srand和rand的使用

只使用rand会按一定规律生成一样的随机数,srand函数是给rand提供种子。每次要生成不同的随机数要用srand提供不同的种子,一般用srand((unsigned)time(NULL));以时间为种子可以保证每次不同。rand生成的随机数是0~RAND_MAX之间。如果要生成几个0~99之间的随机数可以按下面这样:#include #include void

2017-02-01 21:29:25 625

原创 golang调用javascript文件里的函数

这里要用到otto---Go语言实现的JavaScript 解释器(github.com/robertkrimen/otto)假设plugins.js里的内容有:function addnum(a, b) { return a + add5(b)}function add5(a) { return a + 5}要调用addnum函数,golang内容为:

2016-12-13 22:19:34 7934

原创 C++获取网关(linux)

这里只讨论最简单与直接的方法,和route命令一样,从/proc/net/route读取,代码如下:bool GetIPV4Gateway(const char * pNICName, char *pGateway, unsigned long len){ char buffer[200] = { 0 }; unsigned long bufLen = sizeof(buffer);

2016-11-02 16:14:48 4838

原创 文件关闭后马上再打开另一个文件两个句柄会一样

for(int i = 0; i < 5; i++){ FILE *pF = fopen("123.txt", "wb"); printf("%x\n", pF); fclose(pF); pF = NULL;}按这代码测试每次都是一样的句柄

2016-09-29 18:09:06 1233 1

转载 websocket

你可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁,它和 HTTP 有一些共性,是为了解决 HTTP 本身无法解决的某些问题而做出的一个改良设计。在以前 HTTP 协议中所谓的 keep-alive connection 是指在一次 TCP 连接中完成多个 HTTP 请求,但是对每个请求仍然要单独发 header;所谓的 polling 是指从客户端(一般就是浏览器

2016-08-02 20:56:19 339

原创 Execution failed for task ':callbacktest:clean'

做NDK时出现Execution failed for task ':callbacktest:clean'其实是自己在Terminal里操作到相关目录导致的清理不了,退回顶层就可以了AS里ndk出现java.lang.UnsupportedClassVersionError:时要去module setting,把Build Tools Version改一下版本。

2016-08-01 17:06:02 400

原创 panic: reflect: reflect.Value.SetUint using value obtained using unexported field(go语言)

go语言中在用binary.Read(),把二进制映射为结构体时,如果出现panic: reflect: reflect.Value.SetUint using value obtained using unexported field类似的错误,是要映射的结构体成员没有大写造成的,小写是私有,大写公有的才可以被访问到

2016-07-28 20:32:55 2466

原创 android

做NDK时出现Execution failed for task ':callbacktest:clean'其实是自己在Terminal里操作到相关目录导致的清理不了,退回顶层就可以了

2016-07-01 11:38:58 181

原创 CentOs下用Qt Creator出现找不到GL/gl.h问题

我是直接下载qt-opensource-linux-x64-5.5.1.run,修改权限直接运行安装。然后编项目时出现找不到GL/gl.h问题是少装了gl库用命令yum install mesa-libGL-devel mesa-libGLU-devel (2个opengl核心库)就可以了也可以再安装yum install freeglut-devel (OpenGL Util

2016-06-02 18:33:08 9517

原创 linux添加开机自动启动程序

1.最简单的办法是修改/etc/rc.d/rc.local脚本,在文件末尾添加所有执行的脚本,/etc/rc.d/rc.local脚本程序是在引导过程的最后一步被执行的。但是有些系统中找不到这个脚本,我们可以用第二种方法。2.在/etc/rc.d/init.d目录下(有些是在/etc/init.d目录下,ls -l看/etc/rc1.d下文件的链接是哪个目录,没有/etc/rc1.d时应该

2016-05-25 10:03:10 1112

转载 OGG音频格式分析

一. OGG音频格式概述Ogg是一个自由且开放标准的容器格式,由Xiph.Org基金会所维护。Ogg格式并不受到软件专利的限制,并设计用于有效率地流媒体和处理高品质的数字多媒体。“Ogg”意指一种文件格式,可以纳入各式各样自由和开放源代码的编解码器,包含音效、视频、文字(像字幕)与元数据的处理。在Ogg的多媒体框架下,Theora提供有损的图像层面,而通常用音乐导向的Vorbi

2016-05-17 20:48:26 11548

原创 qt creator编译opus库

把下载来的Opus源代码全都加入到项目中除了arm、tests及mips目录然后在.pro文件里加入INCLUDEPATH += include celt silk silk/float silk/fixed .DEFINES += HAVE_CONFIG_HQMAKE_CFLAGS_RELEASE = -O2 -fvisibility=hidden -W -Wall

2016-05-12 17:05:08 1031 1

原创 opus编译库到arm上面用

一、可以到https://opus-codec.org/下载源码进入到目录% ./configure CFLAGS="-Os" --enable-fixed-point --enable-intrinsics --host=arm-linux// configure后面的参数是指定优化选项,和编译器% make% sudo make install二、可以用git下载源码%

2016-05-12 15:12:12 4281 4

转载 linux64位shellcode代码注入

【测试环境】 CentOS 5.4 (Final)x86_64 Linux version 2.6.18-164.el5. x86_64 GCC version 4.4.2 20080704【汇编编译环境】 CentOS 7 x86_64 Linux 3.10.0-229.7.2.el7.x86_64 NASM 2.10.07 x86_64【A程序:counter.

2016-03-30 11:45:45 1716 1

原创 linux系统调用64位汇编与32位汇编不同及兼容

一、不同1.系统调用号不同。比如x86中sys_write是4,sys_exit是1;而x86_64中sys_write是1, sys_exit是60。linux系统调用号实际上定义在/usr/include/asm/unistd_32.h和/usr/include/asm/unistd_64.h中。2.系统调用所使用的寄存器不同,x86_64中使用与eax对应的rax传递系统调用号,但是

2016-03-30 11:34:14 2621

原创 Missing separate debuginfos

gdb在调试程序时候提示 Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.i686然后运行debuginfo-install glibc-2.12-1.107.el6.i686 ,Could not find debuginfo for main pkg: glibc-2.12-1.107.e

2016-03-22 09:44:39 798

原创 virtualbox下给centos共享文件

安装增强软件,可能出现Building the main Guest Additions module [失败]先安装下yum install kernel,再安装yum install kernel-devel,mkdir /mnt/sharecode再mount -t vboxsf sharecode /mnt/sharecode

2016-03-09 18:03:35 308

原创 Qt对话框QDialog的返回值

Constant ValueQDialog::Accepted 1QDialog::Rejected 0

2016-02-23 19:01:46 17785 1

原创 AMR解码编程(C++直接用opencore-amr-0.1.3库)

先定义每种帧的大小数组const int sizes[] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 6, 5, 5, 0, 0, 0, 0 };初始化解码器void *m_pAmr = Decoder_Interface_init();判断文件头,去掉文件头,读取第一个帧头,以第一个帧头为标准,后面用于判断坏帧if

2016-02-18 19:04:06 1940

原创 AMR解码编程(C++直接用opencore-amr-0.1.3库)

先定义每种帧的大小数组const int sizes[] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 6, 5, 5, 0, 0, 0, 0 };初始化解码器void *m_pAmr = Decoder_Interface_init();判断文件头,去掉文件头,读取第一个帧头,以第一个帧头为标准,后面用于判断坏帧if (0 == mem

2016-02-18 18:50:17 3253

转载 AMR音频结构

编码方式AMR有多种编码方式,每种编码方式的采样频率不同:  规格比特率(kbps)音频帧大小(字节)帧头(字节)FT0AMR 4.75 1304 0000010000001AMR 5.15

2016-02-18 18:41:54 660

原创 Qt实现类似sendmessage和postmessage发送自定义消息

在用MFC中时常会用到sendmessage和postmessage特别是其他线程对GUI线程操作时,但是在QT中没有直接可用的相应函数。QT中要达到相同的效果可以用信号和槽在slots下自定义槽private slots: void OnRevertPhone(unsigned int ret, QString phone);signals下自定义信号signals:

2016-02-17 19:29:17 8709

原创 Qt Creator 在windows下发布程序

首先要先编成release,到build-XXXX-Release下的release目录可以得到release生成的exe直接运行会提示计算机中丢失Qt5Core.dll,到qt安装目录下的mingw492_32(我安装的是mingw,安装其他到对应目录找)中找到bin目录,里面有这个dll,拷贝到exe的目录下再运行还会提示丢失dll,把所以dll都添加好后,打包到其他电脑上运行。在没有安装qt

2016-01-25 18:24:23 1920

原创 利用waveIn完成简单录音(录成wav)

设置采集音频格式 WAVEFORMATEX waveform; //采集音频的格式,结构体 waveform.wFormatTag = WAVE_FORMAT_PCM;//声音格式为PCM waveform.nSamplesPerSec = 8000;//采样率,16000次/秒 waveform.wBitsPerSample = 16;//采样比特,16

2016-01-21 20:56:33 9277 3

原创 QTableView的应用(Qss美化,加checkbox)

利用数据模型添加表头QStandardItemModel *m_pModel;m_pModel = new QStandardItemModel(ui->tableView_log);//m_pModel->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("项目名")<<QStringLiteral("信息"));m_pMod

2016-01-21 20:33:57 15796 6

原创 实时在线音频延时的处理(借用speex)

实际项目中出现实时在线音频播放会有累加延时的问题,越久延时越长。经过各方面检查发现是设备发送音频数据频率不稳定产生的:比如本来应该是每秒5包音频包的数据过来的,但是某一秒设备没把数据及时发过来,造成这一秒内没数据播放,但是下秒又多了数据,但是播放速度是固定的,所以相当于延时了一秒,这种情况出现多了延时就会变长。后来分析了下网络出现这种情况比较常见,特别这个项目是用3G网络可能性还是蛮大

2016-01-19 21:01:41 2721

转载 speex前置处理

1.简介语音在采集和传输过程中,由于语音源的差异、信道的衰减、噪声的干扰以及远近效应,导致信号幅度相差很大。所有在语音处理之前我们需要对语音数据进行前置处理,包括预处理(AGC、VAD、回音消除)、重采样和噪声抑制。所有的代码都是基于speex开源库,具体内容可以参考http://speex.org/。2.接口说明预处理模块包括自动增益控制、静音

2016-01-15 14:05:47 2069

原创 “无法解析的外部符号 _mysql_num_rows@4,该符号在函数”问题

先看在链接器里的输入那一栏有没有添加libmysql.lib,没有要添加。链接器里的常规里的附加库目录,路径有没有添加对,一般是C:\Program Files\MySQL\MySQL Server 5.6\lib还是不行,可能是位数的原因,我系统是64位的,安装的mysql也是64位的,但是工程是32位的,所以可以改安装32位的mysql或把工程改为64位。工程改为64位:解决方案属

2015-11-06 10:47:10 2644 1

原创 centos下yum的一些用法

centos支持yum安装,安装前先要切换到root用户,用命令su,然后输入密码。安装gcc用命令yum install gcc安装g++要用命令yum install gcc-c++而不是yum install g++

2015-10-27 15:27:19 269

原创 自增自减与左值

以自增为例,(i++)不能做左值而(++i)可以,看下实现://前缀形式,++i int &int::operator++() { *this+=1; return *this; } //后缀形式,如i++,由于返回的是副本,所以设定了const int,因为给oldvalue赋值是危险的,函数出栈动作结束后,oldvalue就消失了,所以不能做左值。

2015-09-27 18:01:03 802

原创 lua几个易与其他语言(特别C++)混淆的地方

1.  lua认为false和nil为假,其他值都为真,所以0和空串是真。2.  ==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等;Lua通过引用比较tables、userdata、functions。也就是说当且仅当两者表示同一个对象时相等。3. a and  b  -- 如果a为false,则返回a,否则返回b     a or  b   --

2015-09-27 11:10:46 842

原创 svn常用的几个命令

svn客户端checkout一个目录下来:svn checkout https://127.0.0.1:8443/svn/RJLMeng/trunk/dbs dbs下载更新:svn update查看修改可上传文件:svn st上传修改:svn commit client/ -m "测试代码客户端"client是一个指定文件夹,为空表示上传当前目录下的全部修改,-

2015-09-16 12:22:49 288

原创 js中Math的几个函数

1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分(返回小于等于n的最大整数)。3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。4.Math.ceil(n); 返回大于等于n的最小整数。5.Math.ceil(Mat

2015-07-29 14:22:38 1109

原创 node.js中的process.nextTick()和setImmediate()

process.nextTick()和setImmediate()在node.js中都是将回调函数延时执行。跟setTimeout(function(){}, 0);类似,但性能不一样,setTimeout定时器是采用红黑树,process.nextTick()是用数组,setImmediate()是用链表。先看看process.nextTick()的代码process.nextTick(

2015-07-23 15:41:14 1256

转载 MySQL错误码

服务器错误信息来自下述源文件: 错误消息信息列在share/errmsg.txt文件中。“%d”和“%s”分别代表编号和字符串,显示时,它们将被消息值取代。 错误值列在share/errmsg.txt文件中,用于生成include/mysqld_error.h和include/mysqld_ername.h MySQL源文件中的定义。SQLSTATE值列在share/errmsg.txt文件

2015-07-23 09:55:20 689

转载 MySQL的timeout那点事

转载网址: http://www.penglixun.com/tech/database/mysql_timeout.html因为最近遇到一些超时的问题,正好就把所有的timeout参数都理一遍,首先数据库里查一下看有哪些超时:root@localhost : test 12:55:50>show global variables like "%ti

2015-07-09 15:07:47 377

原创 gdb调试core文件

gdb wbxgs_crash[程序名] core.5797[core文件名](gdb)bt#0 ........#1 .......(gdb)info threads [查看线程]21 process ......20 process ....(gdb)thread 21 [转入线程21](gdb)bt#0 ........#1 .......(gdb

2015-07-08 22:21:53 348

DirectShow开发指南及源码.part4(共四卷)

《DirectShow开发指南》 作 者: 陆其明(著) 金邦飞(审校) 内容提要:本书以DirectX SDK 9.0版为蓝本,涉及的内容几乎涵盖 了在Windows平台上使用DirectShow进行C++编码的方方面面。 共压缩为四卷

2010-05-07

DirectShow开发指南及源码.part3(共四卷)

《DirectShow开发指南》 作 者: 陆其明(著) 金邦飞(审校) 内容提要:本书以DirectX SDK 9.0版为蓝本,涉及的内容几乎涵盖 了在Windows平台上使用DirectShow进行C++编码的方方面面。 共压缩为四卷

2010-05-07

DirectShow开发指南及源码.part2(共四卷)

《DirectShow开发指南》 作 者: 陆其明(著) 金邦飞(审校) 内容提要:本书以DirectX SDK 9.0版为蓝本,涉及的内容几乎涵盖 了在Windows平台上使用DirectShow进行C++编码的方方面面。 共压缩为四卷

2010-05-07

DirectShow开发指南及源码.part1(共四卷)

《DirectShow开发指南》 作 者: 陆其明(著) 金邦飞(审校) 内容提要:本书以DirectX SDK 9.0版为蓝本,涉及的内容几乎涵盖 了在Windows平台上使用DirectShow进行C++编码的方方面面。 共压缩为四卷

2010-05-07

多文档编辑器(java版)

java实验课时老师要求完成的,文本编辑器支持多文档,各种操作只对当前活动窗口。

2009-10-22

计算机组成与设计部分习题答案(王诚版)

计算机组成与设计(第2版)王诚 刘卫东 宋佳兴 编著 清华大学计算机系列教材 学院公共基础课程系列 里面有此书的部分习题答案 发上来大家共享一下

2008-10-13

航空客运订票系统(C++)

【问题描述】 航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 【基本要求】 (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名,所需票量); (2)系统能实现的操作和功能如下: 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额; 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可排队候补; 承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。

2008-09-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除