c/c++
jefry_xdz
这个作者很懒,什么都没留下…
展开
-
STL list中对象排序
STL list可以对基本数据、字符串直接调用sort()函数默认做升序排列,但是对于降序排列或者对非基本数据类型排序(对象、数组等)需要借助operator()函数实现,这点和Java中的List很相似。具体调用函数:list.sort(Cmpare());其中Cmpare是一个类或结构体,成员函数operator()必须是公共类型的。我举一个简单的例子(对学生按年龄降序排列原创 2012-08-29 11:36:52 · 8484 阅读 · 1 评论 -
网络字节序
TCP/IP协议规定,网络中的数据流采用的是大端字节序,即低地址高字节。大端法与小端法我就不多说了,在博客http://www.blogjava.net/tinysun/archive/2009/12/31/307952.html中做了详细介绍。 不同cpu平台上字节序通常也不一样,在80X86平台上,系统将多字节中的低位存储在变量起始地址,使用小端法。为了使网络程序具有可移植原创 2012-05-05 00:06:20 · 1041 阅读 · 1 评论 -
LinuxC多线程编程第五篇:线程通信(Condition)
线程同步还有一种情况,线程1需要等某个条件成立才能继续往下执行,如果这个条件不成立,线程1就阻塞等待,线程2在执行某个条件成立了就唤醒线程1。这个和Java中的wait()和notify()其实是一样的注意:最下面有本文演示的源码的链接地址初始化与销毁通信条件#include int pthread_cond_destroy(pthread_cond_t *cond);int原创 2012-04-21 10:20:55 · 4362 阅读 · 2 评论 -
LinuxC多线程编程第四篇:线程同步mutex
说明:我讲解这些,是站在各位对线程已经有了一定的认识,比如说理解什么是同步或异步之类的概率,如果要把这些讲清楚,实现篇幅太多,也没有这个精力。 废话不多说,我们切入正题。注意:最下面有本文演示的源码的链接地址我们先看一个问题:我启动两个线程,两个线程对全局变量都在加1,每个线程循环5000,结果应该是5000*2=10000才对啊,可事实如此吗?源码下载:http:/原创 2012-04-21 07:39:24 · 1939 阅读 · 0 评论 -
LinuxC多线程编程第三篇:pthread_join与phread_datach介绍
一般情况下,线程终止后,其终止状态一直会保留到其他线程调用pthread_join获取它的状态为止。但是线程也可以设置为detach状态,这样的线程一旦终止就立即回收它占用的所有资源,而不保留终止状态。注意:不能对已经detach状态的线程调用pthread_join。对一个尚未detach的线程调用phread_join或phread_detach都可以把该线程设置为datach,也原创 2012-04-21 06:55:09 · 2327 阅读 · 0 评论 -
LinuxC多线程编程第二篇:线程终止
终止线程可以有三种方法1、线程回调函数return。这种方法对主线程不适合。2、一个线程调用pthread_cancel将终止同一进程中的另一个线程(这个比较复杂,这里先不做介绍)3、线程可以调用phtread_exit终止自己。下面来看看pthread_exit与pthread_join用法:#include void pthread_exit(void *value_p原创 2012-04-21 06:17:42 · 2146 阅读 · 0 评论 -
LinuxC多线程编程第一篇:线程创建
本人在做Android NDK移植的时候遇到了C语言线程,当然线程这些内容在谭浩强的书中根本没有介绍。Android系统用的是Linux内核,所以Linux C多线程编程对Android NDK非常重要,Android Framework中用到这些会更多。废话不多说,我们切入正题。如何创建一个多线程?以下就是创建线程的函数:int pthread_create(pthread_t原创 2012-04-20 20:54:58 · 1311 阅读 · 0 评论 -
形式多样的构造函数
1、拷贝构造函数: 模型: class A { public : A(A& a){ //函数体 } };什么时候调用拷贝构造函数:(1) 当用类的一个对象去初始化该类的另一个对象时候。系统自动调用它实现拷贝赋值 形如: A a(1,1); A b(a);(2) 若函数的形参为类的对原创 2012-09-02 22:37:41 · 1627 阅读 · 0 评论 -
C/C++获取当前系统毫秒时间
笔者在做Android NDK底层测试编码,很多时候需要获取当前系统毫秒时间来准确分析数据,下面的代码是在Android系统上做了测试,所以此函数代码在Linux系统可行,至于VC上面是否可行,我也没测试(应该不行吧),因为VC与Linux C中的sleep就有很大差别。我将C/C++获取当前系统毫秒时间分享给大家。 Java获取当前系统毫秒时间很简单:public s原创 2012-10-15 10:44:51 · 101511 阅读 · 7 评论