编程语言[C/C++/VC++]
文章平均质量分 68
军说网事
从事软件开发10+年,精通C++、android、算法、数据结构;擅长理论与实际相结合,善于总结和分析。
展开
-
WebRTC重要API和音视频分析
重要APIWebRTC原生APIs文件是基于WebRTC规格书撰写而成,这些API可分成Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三类。Network Stream API·MediaStream:MediaStream用来表示一个媒体数据流。·MediaStreamTrack在浏览器中...原创 2019-06-30 14:29:40 · 6165 阅读 · 0 评论 -
const_cast的用法
const_cast的用法原创 2015-04-30 18:14:02 · 1987 阅读 · 1 评论 -
Windows中OnTimer和线程
Windows中OnTimer和线程原创 2015-03-31 18:56:42 · 2690 阅读 · 1 评论 -
MFC中模态对话框和非模态对话框的区别
MFC中模态对话框和非模态对话框的区别原创 2014-09-30 20:48:24 · 1300 阅读 · 0 评论 -
virtual的用法
virtual的用法原创 2014-09-30 20:37:01 · 1430 阅读 · 0 评论 -
windows环境下VS2008编译程序在有些电脑上运行不了的问题
windows环境下VS2008编译程序在有些电脑上运行不了的问题原创 2014-09-30 20:28:33 · 2654 阅读 · 0 评论 -
tinyxml的用法和实例
使用tinyxml,需要在工程中包含其源码,并在头文件建立引用关系。下面是一个简单的例子,按照层次关系打印出xml文件。原创 2014-07-31 06:19:00 · 2699 阅读 · 0 评论 -
写日志函数和持续优化
编程和设计的过程,就是一个逐步完善的过程,没有人一开始会想的很全面,也没有绝对的错误的代码和设计。原创 2014-07-31 06:05:59 · 1504 阅读 · 0 评论 -
C/S通信模型和相关技术要点
C/S通信模型和相关技术要点原创 2014-07-28 03:37:51 · 2070 阅读 · 3 评论 -
好的编程习惯(一)
好的编程习惯原创 2014-05-29 22:50:18 · 1914 阅读 · 2 评论 -
class、interface、struct的区别
class、interface、struct的区别原创 2014-05-17 18:09:45 · 2395 阅读 · 0 评论 -
VC6项目移植到VS2008的若干问题——好的代码,从我做起,从现在做起。
VC6项目移植到VS2008中遇到的一些问题以及解决办法。好的代码,从我做起,从现在做起。原创 2014-05-16 20:28:17 · 4052 阅读 · 0 评论 -
mysql数据类型和用法
mysql数据类型和用法原创 2014-05-06 00:55:32 · 1859 阅读 · 2 评论 -
[VS2008]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”
[VS2008]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”原创 2014-01-08 23:39:32 · 3355 阅读 · 2 评论 -
零缺陷编程读书笔记(六)自己设计并使用断言(4)
零缺陷编程读书笔记(六)自己设计并使用断言(4)原创 2013-12-31 23:44:38 · 1388 阅读 · 0 评论 -
编程习惯(一)头文件与cpp文件为什么要分开写
编程习惯(一)头文件与cpp文件为什么要分开写原创 2014-01-03 21:59:37 · 3070 阅读 · 0 评论 -
Linux对外连接端口数限制
Linux对外连接端口数限制原创 2015-06-30 13:50:58 · 6570 阅读 · 0 评论 -
Cannot assign requested address 问题
Cannot assign requested address 问题原创 2015-06-30 13:58:13 · 2750 阅读 · 0 评论 -
Linux下EPoll通信模型简析
EPoll基于I/O的事件通知机制,由系统通知用户那些SOCKET触发了那些相关I/O事件。原创 2015-06-30 13:48:39 · 997 阅读 · 0 评论 -
WebRTC定义和架构组建介绍
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以达...原创 2019-06-30 14:28:58 · 992 阅读 · 0 评论 -
什么是gRPC
在gRPC里,客户端可以直接调用不同机器上的服务应用的方法,就像是本地对象一样,所以创建分布式应用和服务就很简单了。在很多RPC(Remote Procedure Call Protocol)系统里,gRPC是基于定义一个服务,指定一个可以远程调用的带有参数和返回类型的的方法。在服务端,服务实现这个接口并且运行gRPC服务处理客户端调用。在客户端,有一个stub提供和服务端相同的方法。...原创 2019-06-30 14:18:51 · 3281 阅读 · 0 评论 -
事件和消息的使用区别
在Windows系统里定义了事件和消息。消息又分异步消息和同步消息。一般来说,SendMessage是同步消息,需要等待结果返回;PostMessage是异步消息,发送完就不管了结果,对于结果,可能是需要监听某种事件来处理。通俗来说:事件是一个动作——用户触发的动作,事件总是和一个ID有关,事件就是“当....的时候”;消息是一个信息——传递给系统的信息,消息就是“嗨!你该干...原创 2019-05-31 18:05:18 · 2834 阅读 · 0 评论 -
sleep和wait的区别
1所属类这两个方法来自不同的类分别是,sleep来自Thread类,wait来自Object类。java.lang.Thread#sleeppublic static native void sleep(long millis) throws InterruptedException;java.lang.Object#waitpublic final ...原创 2019-05-31 18:04:17 · 1396 阅读 · 0 评论 -
函数末尾加const的作用
#include <iostream>using namespace std;class Test{int num;public:Test(){num=10;}void print1(){cout<<num<<endl;}...原创 2019-05-31 18:03:11 · 4605 阅读 · 0 评论 -
不用额外变量交换两个整数的值
题目:int a=10,b=15; 将a / b的值互换。通常我们的做法是定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;问题:如何不用任何额外变量交换两个整数的值?思路:使用位运算的异或运算,或者使用算数运算。位运算通过异或运算也能实现变量的交...原创 2019-05-31 18:02:13 · 1327 阅读 · 1 评论 -
从一道笔试题题说起
近日与一个朋友聊天,说到下面的一道题,来了10个人,都没做对,然后工资要的还不低。题目如下:struct data{int a;ushort b;}main(){data mData;mData.b = 0x0102;char *pData = (char*)&mData;...原创 2019-04-30 15:31:39 · 557 阅读 · 0 评论 -
使用类继承还是类的成员变量
对于继承和成员变量有很多相似的地方,那么何时用继续,何时用成员变量呢。是不是都用继承好呢?原创 2017-12-30 18:42:16 · 1186 阅读 · 0 评论 -
内存溢出的问题
解决问题后,我们闲聊,我说最开始接触这个的时候,听那些人讲,什么内存泄露,内存溢出,野指针啥的,完全不知道是什么玩意。现在其实接触多了,你实践与理论结合去分析问题,实践中理解理论,理论指导实践,相辅相成。而很多人,可能是不善于表达,又或者是只知其一不知其二,总喜欢把理论搞的很神秘似的,其实完全没必要,实践得真知。能用通俗易懂的言语把理论讲明白,而不是照本宣科的讲理论的人,那肯定是付出很多实践总结出来的。这种人值得我们学习。没有自夸的意思,我还在不断的学习中,其实很想发技术博文的,总是一些事情要去处理,说这些原创 2017-08-31 23:10:34 · 431 阅读 · 0 评论 -
protobuf 中的嵌套消息的使用 主要对set_allocated_和mutable_的使用
protobuf的简单的使用,不过还留下了一个问题,那就是之前主要介绍的都是对简单数据的赋值,简单数据直接采用set_xx()即可,但是如果不是简单变量而是自定义的复合类型变量,就没有简单的set函数调用了,下面看一个简单的例子。最近使用protobuf,用set_allocated_pos(),编译没问题,但发现赋值不对。在网络游戏中,游戏玩家之间的同步是一个最基本的功能原创 2016-04-30 18:19:03 · 13874 阅读 · 8 评论 -
容器的[]运算
hash_map > g_hmLimits;uint32_t tmCurrent = time(NULL);CAutoLock cAutoLock(&g_cLimitLock);list& lsErrorTime = g_hmLimits[strDomain];lsErrorTime.push_front(tmCurrent);这段代码有人有疑问:lsErrorTime并没有分原创 2016-03-31 17:25:02 · 549 阅读 · 0 评论 -
push_back的问题
#include #include #include using namespace std;void test(list& lstr){ char buff[128] = {0}; sprintf(buff, "hello world!!!"); lstr.push_back(buff);}int main(void){ std::list l原创 2016-03-31 17:19:42 · 1054 阅读 · 0 评论 -
log4j.properties详解与例子
在项目中的classes中新建立一个log4j.properties文件即可; 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义。定义步骤就是对Logger、Appender及Layout的分别使用。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是java properties(key=value)【Java特性文件(键=值)】。(这里只说明pr原创 2016-01-27 15:54:42 · 939 阅读 · 0 评论 -
PB协议报错 it is missing required fields: (cannot determine missing fields for lite message)
在测试PB协议的过程中出现,it is missing required fields: (cannot determine missing fields for lite message)。查找资料说:required 类型的字段,必须设置值,否则,在解析的时候,会有这个提示。pb协议在发送的时候,会根据结构中定义的字段,把设置值的字段打包到数据包中,然后发送出去。在接收方,接收到数据,原创 2016-01-27 15:44:50 · 4876 阅读 · 1 评论 -
error LNK2026 module unsafe for SAFESEH image
error LNK2026 module unsafe for SAFESEH image原创 2015-07-31 13:08:25 · 8415 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号的几种情况探讨
error LNK2019: 无法解析的外部符号的几种情况探讨。原创 2013-11-24 11:50:11 · 4943 阅读 · 0 评论 -
VS2008编译项目遇到的问题以及解决方法
VS2008编译项目遇到的问题以及解决方法原创 2013-11-15 23:10:51 · 2416 阅读 · 0 评论 -
C++经典开源库
非常惭愧,我过去也仅仅了解boost、STLport这样的库,以及一些GUI库,但是居然有如此众多的C++库,其实令我惊讶。当然,这个问题应该辩证的看,对于拿来主义确实可以直接使用这些库,但是如果学习和专业的开发,确实应该自己写,因为——适合的才是最好的。无论效率还是简洁性都是自己开发的好,否则还要那么多程序员干什么。程序就像做衣服,需要量身定做,拼凑起来的,一定不会好用,不过借鉴也是必须的,可以转载 2013-09-22 17:11:32 · 1476 阅读 · 0 评论 -
VC 读注册表获取安装程序
Windows 系统中,安装程序都可以在注册表 HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Windows\CurrentVersion\Uninstall 获取,并且xp、vista、win7、win8都一样打开注册表命令:regedit,依次展开上述注册表路径,安装程序列表如下图: 获取系统安装程序列表:[转载 2013-09-22 17:42:35 · 1748 阅读 · 0 评论 -
ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>转载 2013-09-22 17:24:56 · 973 阅读 · 0 评论 -
C++开源库
本文章转自http://www.cnblogs.com/kanego/archive/2011/11/10/2244957.htmlC++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,转载 2013-09-22 17:14:35 · 1567 阅读 · 0 评论