C/C++
文章平均质量分 78
vba_2001
暂时不知道写什么
展开
-
在C++中使用Apache的Log4cxx记录日志
1.介绍Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计。有关log4cxx的更多信息可以从Apache Logging Service的网站http://logging.apache.org获得。当前的稳定版本为0.9.7,本文内容及示例代转载 2008-04-25 09:56:00 · 692 阅读 · 0 评论 -
浅谈shutdown()和close()的区别
shutdown()函数可以选择关闭全双工连接的读通道或者写通道,如果两个通道同时关闭,则这个连接不能再继续通信。close()函数会同时关闭全双工连接的读写通道,除了关闭连接外,还会释放套接字占用的文件描述符。而shutdown()只会关闭连接,但是不会释放占用的文件描述符。所以即使使用了SHUT_RDWR类型调用shutdown()关闭连接,也仍然要调用close()来释放连接占用的文件描述符转载 2014-04-24 11:37:23 · 1508 阅读 · 0 评论 -
ProtocolBuffers教程
ProtocolBuffers是Google提出的一种二进制的数据交换格式,性能较平常的XML格式提高了不少.它独立于平台和语言,google提供了C++,Java和Python三种语言的实现,通过第三方扩展可以支持更多的语言平台.现在新版本为2.4.1,但是还只提供2.3.0的protoc编译器下载,新版本需要自行编译了.一下通过Google提供的例子讲解:1.编写proto文件Pr原创 2011-11-08 14:06:42 · 584 阅读 · 0 评论 -
飞鸽传书的原理和一些资料
转载地址:http://blog.sina.com.cn/s/blog_56d04ca701000axw.html飞鸽传书(IP Messenger)是一个小巧方便的即时通信软件,它适合用于局域网内甚至广域网间进行实时通信和文档共享。特别是在局域网内传送文件/文件夹的速度非常快!原理:(1)最关键的是局域网用户列表的建立;飞鸽启动时使用UDP协议向255.255.255.255这个广播地址转载 2012-06-06 15:34:22 · 583 阅读 · 0 评论 -
IPMSG(飞鸽传书)协议翻译
转载地址:http://bbs.chinaunix.net/thread-1015775-1-1.html本文只包含其中几个比较重要的命令以及运行机制的中文翻译,更详细的内容请参照文后的IPMSG 协议英文文档声明:下述协议内容略去了一些在编写程序过程中没有用到协议内容,最初的Ipmsg协议是用日文写的,下面协议内容由本人(cugb_cat)翻译自Mr.Kanazawa的英文文档。本翻转载 2012-06-06 15:37:04 · 567 阅读 · 0 评论 -
Epoll工作模式详解
转贴地址: http://www.vimer.cn/2009/10/epoll%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F%E8%AF%A6%E8%A7%A3.html我们目前的网络模型大都是epoll的,因为epoll模型会比select模型性能高很多, 尤其在大连接数的情况下,作为后台开发人员需要理解其中的原因。select/epoll的特点sele转载 2012-05-30 16:58:51 · 354 阅读 · 0 评论 -
epoll精髓
转载:http://www.cnblogs.com/OnlyXP/archive/2007/08/10/851222.html在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处转载 2012-05-30 16:54:37 · 352 阅读 · 0 评论 -
关于线程调度和线程调度消耗的讨论贴
关于线程调度和线程切换背景知识:调度:就是选出下一个要在cpu上执行的线程。优先级:“剥夺”式调度的依据,windows将线程的优先级分为32个级别,0最低,31最高就绪队列:windows系统中,每一个cpu有32个队列,每一个队列对应一个优先级,一个线程变成可调度,要么成为standingby线程,要么会按照他的优先级挂入相应队列的尾部。Standingby线程:当前线程的“剥夺”转载 2011-11-02 12:22:30 · 2347 阅读 · 0 评论 -
Windows的纤程(Fiber)
参考转载地址:Windows的纤程(Fiber) 以前学操作系统原理时,听说过用户级线程,但不知道是否有真实操作系统支持。今天在看《多核程序设计技术》时,发现原来Windows中就有这个东东,长见识了,拿来与大家分享。 Windows中提供的纤程(fiber)是一种用户级线程。与处于内核的线程不同,纤程完全包含在用户空间中,由用户自己进行调度。纤程对于Windows内核来说是透转载 2011-10-31 14:54:01 · 2782 阅读 · 0 评论 -
解析#pragma指令
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和 C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。(1转载 2009-05-14 12:38:00 · 369 阅读 · 0 评论 -
Luhn算法
LUHN是一个算法,它的就要作用是为了计算信用卡等证件号码的合法性。我们用一个例子来看一下这个算法的工作过程: 假设我们有一个数4992 73 9871,这个数是没有带校验码的,算法的计算分为三步:由最低位起每隔一位取一个数字,将这个数字乘2;1*2=2 8*2=16 3*2=6 2*2=4 9*2=18将数字中余下的数字和上面结果中的数字直接相加,得到结果B;4 + 1+8 +转载 2008-12-30 13:02:00 · 2156 阅读 · 0 评论 -
JAVA JNI的基本总结一箩筐
JNI的基本原理** 在Java中调用C库函数开发流程------在Java代码中通过JNI调用C函数的步骤如下:第一步: 编写Java代码第二步: 编译Java代码第三步: 生成C语言头文件第四步: 编写C代码第五步: 生成C共享库第六步: 运行Java程序*** 第一步 编写Java代码JNI方法是在Java代码中声明的。在Java类中,使用转载 2014-04-24 11:31:02 · 934 阅读 · 0 评论