随笔分类 -  转载

摘要:函数简介 函数pthread_join用来等待一个线程的结束。函数原型为: extern int pthread_join (pthread_t__th, void **__thread_return); 第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这个函数是一个线程阻塞的函数,调用它的函数将一直等待到被等待的线程结束为止... 阅读全文
posted @ 2012-02-16 22:25 dzqabc 阅读(778) 评论(0) 推荐(1) 编辑
摘要:头文件 #include <pthread.h> 函数原型 pthread_t pthread_self(void); 函数作用:获得线程自身的ID。pthread_t的类型为unsigned long int,所以在打印的时候要使用%lu方式,否则将产生奇怪的结果。 功能 获取当前调用线程的 thread identifier(标识号). 阅读全文
posted @ 2012-02-16 22:11 dzqabc 阅读(2106) 评论(1) 推荐(0) 编辑
摘要:函数简介pthread_create是UNIX环境创建线程函数头文件#include函数声明int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),... 阅读全文
posted @ 2012-02-16 21:57 dzqabc 阅读(517) 评论(0) 推荐(1) 编辑
摘要:BC3提供了使用脚本进行merge的方法,下面是个简单的例子!它让你可以做任意两个目录间的合并,对于版本控制工具的合并功能不强或需要同步两个目录之类的场景很合适! 我用它来解决SVN库内容之间合并的问题。 文件syncMerge.txt的内容(调用方法就是第二行注释符后面的语句,当然得先装BC3!): #svnserve -d -r d:\svn_repository #"C:\Progr... 阅读全文
posted @ 2012-02-16 21:52 dzqabc 阅读(1938) 评论(0) 推荐(0) 编辑
摘要:为什么(3 个原因)以及如何使用硬(相对于软)CPU 亲和性(affinity) Eli Dow (emdow@us.ibm.com), 软件工程师, IBM Linux Test and Integration Center 简介: 了解 Linux® 2.6 调度器如何处理 CPU 亲和性(affinity)可以帮助您更好地设计用户空间的应用程序。软亲和性(affinity) 意味着进... 阅读全文
posted @ 2012-02-16 21:46 dzqabc 阅读(612) 评论(0) 推荐(0) 编辑
摘要:1. 在Linux下,如何确认是多核或多CPU: #cat /proc/cpuinfo 如果有多个类似以下的项目,则为多核或多CPU: processor : 0 ...... processor : 1 2. Linux下,如何看每个CPU的使用率: #top -d 1 之后按下1. 则显示多个CPU Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 9... 阅读全文
posted @ 2012-02-16 21:38 dzqabc 阅读(9883) 评论(0) 推荐(0) 编辑
摘要:1. 新建用户: adduser [-u uid][-g group][-d home][-s shell] useradd username #默认添加一个同名的组 uersadd -g group_name user_name #创建用户的时候指定用户属于那个用户组 usermod –l new_user_name old_ user_name #修改用户名 passwd username #设置密码2. 删除用户 userdel [-r] user_name 【备注:】使用这条命令的时候,如果不添加”-r”的话,不会删除用户的宿主目录,,要是想删除的话可以手工的去删除该目录。但是你已经确 阅读全文
posted @ 2012-02-12 09:44 dzqabc 阅读(2053) 评论(0) 推荐(0) 编辑
摘要:BUG:Visual Studio 6.0 中出现错误消息“Setup Was Unable to Create a DCOM User Account”(安装程序无法创建 DCOM 用户帐户)症状当您运行 Visual Studio 6.0 安装程序时,可能会收到下面的错误消息:Setup was unable to create a DCOM user account in order to register <path>\valec.exe此错误消息首先出现,并可能跟随第二条消息,指示安装程序已失败。原因Visual Studio Analyzer 是 Visual Stud 阅读全文
posted @ 2012-02-12 09:26 dzqabc 阅读(10294) 评论(0) 推荐(2) 编辑
摘要:概述 C语言的内存模型基本上对应了现在von Neumann(冯·诺伊曼)计算机的实际存储模型,很好的达到了对机器的映射,这是C/C++适合做底层开发的主要原因,另外,C语言适合做底层开发还有另外一个原因,那就是C语言对底层操作做了很多的的支持,提供了很多比较底层的功能。 下面结合问题分别进行阐述。 阅读全文
posted @ 2012-02-04 23:20 dzqabc 阅读(1442) 评论(0) 推荐(0) 编辑
摘要:Oracle优化器介绍 本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。 RBO优化器 RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO。正在使用Oracle8i或9i的人们或多或少的都会碰到RBO,因此在详细介绍CB... 阅读全文
posted @ 2012-01-20 23:47 dzqabc 阅读(20224) 评论(4) 推荐(4) 编辑
摘要:概述索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用。在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等。 Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做... 阅读全文
posted @ 2012-01-20 23:30 dzqabc 阅读(12053) 评论(0) 推荐(0) 编辑
摘要:1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 1.1 确认core文件的归属 file core可以输出是由哪个程序生成的core 2. 开启或关闭core文件的生成用以下命令来阻止系统 阅读全文
posted @ 2012-01-20 23:17 dzqabc 阅读(91006) 评论(0) 推荐(14) 编辑
摘要:System Volume Information文件夹,中文名称可以翻译为“系统卷标信息”。这个文件夹里就存储着系统还原的备份信息。“系统还原”是Windows XP最实用的功能之一,它采用“快照”的方式记录下系统在特定时间的状态信息,也就是所谓的“还原点”,然后在需要的时候根据这些信息加以还原。还原点分为两种:一种是系统自动创建的,包括系统检查点和安装还原点;另一种是用户自己根据需要创建的,也... 阅读全文
posted @ 2012-01-20 00:22 dzqabc 阅读(2428) 评论(0) 推荐(0) 编辑
摘要:__attribute__是GNU C提供的一种机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 __attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。 __... 阅读全文
posted @ 2012-01-14 15:42 dzqabc 阅读(470) 评论(0) 推荐(0) 编辑
摘要:众所周知,程序为了提高访问效率,编译器在编译的时候,进行字节对齐。程序员也可以字节指定对齐方式。 Win32下的为progma指令,具体来说 #pragma pack(push) //保存原对齐状态#pragma pack(4)//设定为4字节对齐struct test{ int a;};#pragma pack(pop)//恢复对齐状态在linux下,gcc是默认的编译器。g++ 支持pro... 阅读全文
posted @ 2012-01-14 15:23 dzqabc 阅读(1383) 评论(0) 推荐(0) 编辑
摘要:编译器对结构在编译过程中会优化对齐,由于编译器的内存对齐,当一个char变量独立存在时,会分配一个int大小的空间,当两个char连续存在时,会给两个char分配一个int大小的空间. class CMemoryTest { int a; char b; int c; char d; }; class CMemoryTest1 { int a;... 阅读全文
posted @ 2012-01-14 15:02 dzqabc 阅读(3531) 评论(0) 推荐(0) 编辑
摘要:unix shell的变量分类在Shell中有三种变量:内部变量,环境变量,用户变量。内部变量:系统提供,不用定义,不能修改环境变量:系统提供,不用定义,可以修改,可以利用export将用户变量转为环境变量.用户变量:用户定义,可以修改(1)内部变量(系统变量,环境变量,参数变量,预定义变量) 内部变量是Linux所提供的一种特殊类型的变量,这类变量在程序中用来作出判断。在shell程序内这类变量... 阅读全文
posted @ 2012-01-10 00:09 dzqabc 阅读(11738) 评论(2) 推荐(1) 编辑
摘要:新版本的录制程序终于快完工了,在添加了一个新特性“报警录制”后,就开始测试了。 一开始就不顺利:程序正常运行一段时间后就会崩溃,由于程序添加了守护进程,在崩溃后会自动重启。 因此测试得到的结果就是:程序运行一段时间后就自动重启,并不断持续;有时几个小时重启一次,有时甚至每分钟都重启。 废话少说,开始定位问题: 1.去掉自动重启功能,在gdb下运行,20多分钟后就崩溃了: 2011-10-26 1... 阅读全文
posted @ 2012-01-09 23:11 dzqabc 阅读(9204) 评论(0) 推荐(0) 编辑
摘要:迭代器失效 vector: 1.当插入(push_back)一个元素后,end操作返回的迭代器肯定失效。 2.当插入(push_back)一个元素后,capacity返回值与没有插入元素之前相比有改变,则需要重新加载整个容器,此时first和end操作返回的迭代器都会失效。 3.当进行删除操作(er 阅读全文
posted @ 2011-12-18 23:45 dzqabc 阅读(291) 评论(0) 推荐(0) 编辑
摘要:序列性容器::(vector) erase迭代器不仅使所有指向被删元素的迭代器失效,而且使被删元素之后的所有迭代器失效,所以不能使用erase(iter++)的方式,但是erase的返回值为下一个有效的迭代器,所以 正确方法为:: for( iter = c.begin(); iter != c.end(); ) iter = c.eras... 阅读全文
posted @ 2011-12-18 22:41 dzqabc 阅读(691) 评论(0) 推荐(0) 编辑