自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

转载 信号量大多数情况下可以淘汰条件变量

多线程编程中,发现同步和互斥的手段中,条件变量见到的是最少的。后来查找资料发现:使用信号量完全可以模拟条件变量,而且通常更加具有优势。可以用信号量模拟锁和条件变量:1) 锁,在同一个线程内同时对某个信号量先调用sem_wait再调用sem_post, 两个函数调用其中的区域就是所要保护的临界区代码了,这个时候其实信号量是作为二值计数器来使用的.不过在此之前要初始化该信号量计数为1,见下

2013-07-28 19:12:36 439 1

转载 Beyond Compare 设置打开文件的默认编码

Beyond Compare 设置打开文件的默认编码2012.11.19Beyond Compare 每次打开都会以西欧(windows)打开文件,在有中文的地方,经常出现乱码。但是设置每个文件的编码方式后,下次依然会变成西欧编码。找了很久才找到设置地方:工具>>文件格式 在右侧切换到 第二个标签页【转换】 在靠下的杂项里即可设置编码方式。隐蔽吧

2013-07-10 18:21:53 1113

转载 "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法

一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共

2013-07-09 11:37:58 273

转载 修改linux文件权限命令:chmod

修改linux文件权限命令:chmodLinux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文

2013-05-21 22:47:35 225

原创 awk脚本的执行方式

方式1:命令行执行 命令行程序:awk [options] 'prog' [var=value] [file(s)] 如果没有指定file(s),则表示从终端读取输入。 例如awk -F'\t' 'BEGIN{a=1;b=2}{print a,b;}END{print a+b}' data_file方式2:shell脚本的形式也可以把上述代码放到脚本文件中(当作shel

2013-05-03 15:20:56 358

转载 带不定参数的宏

写一个带不定参数的宏函数2011-03-14 21:51:42 1.可变的宏是具有不定参数的宏。这些参数用...代表,被保存到__VA_ARGS__中。他会在内部进行扩展。#defien err(...) fprintf(stderr, __AV_ARGS__)err("%s file total %dMB.\n", "hello.c", 2) ;预处理后为: fpri

2013-02-20 13:44:54 646

转载 mysql中having的用法(和where的区别)

让我们先运行2个sql语句:1、SELECT * FROM `welcome` HAVING id >1 LIMIT 0 , 302、SELECT * FROM `welcome` WHERE id >1 LIMIT 0 , 30查看一下结果吧,怎么样?是不是查询到相同的结果。让我们再看2个sql语句:1、SELECT user, MAX(salary) FROM users

2012-12-22 15:46:21 2743

转载 PHP关联数组的10个技巧

PHP关联数组的10个技巧这篇文章将介绍10个操作PHP关联数组的技巧,熟练运用能帮助你提高开发效率。1、添加数组元素PHP是一种弱类型语言,这意味着你不需要显示声明一个数组及其大小,相反,你可以同时声明并填充数组。$capitals = array(    'Alabama' => 'Montgomery',    'Alaska'  => 'Juneau',    'A

2012-12-22 15:29:59 258

转载 source exec区别

source exec区别  2011-05-12 10:22:19|  分类: shell编程 |字号 订阅来自shell十三问:问题的提出:cd /etc/aa/bb/cc可以执行,但是把这条命令写入shell时shell不执行!这是什幺原因呀!先让我们了解一下行程(process)的观念好了。首先,我们所执行的任何程序,都是由父行程(paren

2012-12-16 19:44:33 209

原创 insert ... for duplicate key update ...

$sql = "insert into groupquota (ugid,concurrent,compute) ".               "values($ugid,$concurrent,$compute) on duplicate key update ".               "concurrent=concurrent-$concurrent,compute=co

2012-12-15 15:14:26 226

原创 mysql数据库左/右 内/外连接使用方法

(1).表A和B的描述mysql> desc A;+-------+------------------+------+-----+---------+-------+| Field | Type             | Null | Key | Default | Extra |+-------+------------------+------+-----+------

2012-12-13 18:21:17 340

原创 mysql 数据库外键使用

1.创建表A,id为主键create table A(id int unsigned primary key not null,name varchar(128) not null)Engine=InnoDB,CHARSET=utf8;2.创建表B,id为来自于表A的id字段的外键,create table B(id int unsigned primary key not n

2012-12-13 16:31:28 277

转载 shell 批量注释方法研究

写SHELL的时候以前都是用#注释,但是遇到一段话需要注释的时候,需要N多个#,太麻烦了。       今天逛坛子的时候发现可以注释一段内容:今天用                               :                   ....注释内容                    BLOCK注释掉一段话,发现注释内容中有报错出现。仔细查看发现是有反引

2012-12-12 13:30:45 647

原创 通过事务实现互斥

1.可以实现互斥:select...for update 与select...for update之间的互斥事务A:$ret = mysql_query("BEGIN",$con);$sql = "select * from taskstatus where aid=300 for update";$ret = mysql_query($sql,$con);sleep(10

2012-12-11 13:56:38 368

转载 mysql数据库锁

一个数据库操作需要半个小时,并且在一个transaction内,导致其它的操作因为lock而timeout。 为了解决这个问题,找了DBA了解了数据锁的知识: 1. 两种类型的锁: locks:     共享的(S)锁允许一个事务去读一行(tuple)。     独占的锁(X)允许一个事务更新或删除一行。 2. 表锁定,页锁定,行锁定? 看看my

2012-12-10 22:35:32 222

转载 bash的unexpected end of file错误

syntax error: unexpected end of file问题的解决办法dos文件转换成unix文件格式    dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但是在vi的时候,会在下面显示此文件的格式,比如 "dos.txt" [dos] 120L, 2532C字样,表示是一个[dos]格式文件,如果是MAC系统的,会显示[MAC],因为文

2012-12-04 15:04:02 1010 1

原创 php mysql 创建及使用procedure的例子

$con = mysql_connect("localhost","root","root");   if (false == $con)   {       printf("%s,%s,%s\n",__FILE__,__FUNCTION__,__LINE__);   }   $ret = mysql_select_db("algoplat",$con);   if (

2012-12-01 16:48:59 317

原创 php mysql事务的例子

$con = mysql_connect("localhost","root","root");   if (false == $con)   {       printf("%s,%s,%s\n",__FILE__,__FUNCTION__,__LINE__);       exit(1);   }   $ret = mysql_select_db("algoplat

2012-12-01 15:56:36 236

原创 php操作mysql的例子

//连接数据库   $con = mysql_connect("localhost","root","root");   if (false == $con)   {       printf("%s,%s,%s\n",__FILE__,__FUNCTION__,__LINE__);   }    //选择数据库   $ret = mysql_selec

2012-12-01 15:20:37 277

原创 php类成员函数中访问类外定义的变量

$public_var = "I am define out of any classes.";    class testA{        public function printMsg($msg)        {                   global $public_var;            printf("public_var=%s\n",$pub

2012-11-26 13:44:42 1378

原创 php中访问本类成员需用$this

如下代码:class A{private $DAInfo;    public function init()    {        $this->DAInfo = NULL; //如果不用$this即:$DAInfo = NULL;则相当于这里定义了一个临时变量!!        $this->DAInfo = DataAlgoInfo::getInst

2012-11-23 14:14:50 276

转载 PHP constructor protected

PHP constructor protected(2012-09-16 15:47:26)  the purpose of a private or protected constructor is toprevent the class from being instantiated from outside of theclass.构造

2012-11-23 00:25:03 274

转载 模板高级用法: Template Template Argument

注意,template template parameter 是极晚近才加入的C++ 特性,因此上面这个程序可作为一个极佳工具,用来评估你的编译器对 template 特性的支持程度。下面的代码在vs2008通过, codeblocks 通过, vs2003不通过// stack8.cpp : Defines the entry point for the cons

2012-11-19 22:03:12 353

转载 MySQL中如何实现select top n

MySQL中如何实现select top n没有系统过,今日想查询前n条记录,习惯性的输入sqlserver的 n的形式语句,select top 5 * form table_name  报错,一查,原来mysql通过limit可以实现相关功能,而且功能更加强大,GOOD。以下是limit在mysql中的使用详解:SELECT * FROM table LIMIT [offs

2012-11-18 14:18:45 1612

转载 shell调用php脚本,并传递参数

命令行执行带参数的php脚本,并取得参数张映 发表于 2011-07-15分类目录: php一,为什么我们要在命令行下运行php脚本呢?个人理解,主要有二个原因:1,利用crontab去跑php,可以给服务器减压,当然在这里有一个条件,就是实时性要求不高。比如:sns中的好友动态,这个实时要求不高,但是数据量比较大,这个时候定时跑的话,会给web服务器,数据库服

2012-11-17 16:57:19 3754

转载 mysql下如何执行sql脚本

首要步骤(一般可省略):开启mysql服务(默认是开机时就自动运行了):控制面板-->管理工具-->服务,在里面找到名称为mysql的项,双击就可看它的服务状态是启动还是停止,把它设为启动 连接mysql:在命令行下输入 mysql -h localhost -u root -p回车,然后输入密码即可;或直接运行mysql自带的连接工具,然后输入密码即可.1.编写sql脚本

2012-11-14 16:04:01 330

转载 It is not safe to rely on the system's timezone settings

It is not safe to rely on the system's timezone settings【转】在写php程序中有时会出现这样的警告:PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezo

2012-11-10 23:18:45 359

原创 日志不仅是代码中的一部分,而且是代码中最重要的部分

日志不仅是代码中的一部分,而且是代码中最重要的部分在写代码前先制订好日志规范。

2012-05-03 12:48:39 249

转载 多线程程序中fork容易导致fork出来的子进程中死锁

前言:exce调用并不创建新进程,所以前后的进程ID并未改变,exec只是用一个全新的程序替换了当前进程的正文、数据、堆和栈段多线程程序里不准使用fork :为什么???UNIX上C++程序设计守则3准则3:多线程程序里不准使用fork在多线程程序里,在”自身以外的线程存在的状态”下一使用fork的话,就可能引起各种各样的问题.比较典型的例子就是,fork出来的子进程可能会

2012-04-26 16:02:25 1290 1

原创 函数中declare的变量在函数调用后仍无法使用,即作用域是local而非global

foo (){declare FOO="bar"}bar (){fooecho $FOO}bar # Prints nothing.# Thank you, Michael Iatrou, for pointing this out.但是函数中不是用declare定义的变量是可以在函数调用后使用,即其作用域是global的.foo (){

2012-04-20 21:01:38 274

转载 shell函数中定义的变量是global的,从函数调用的地方开始生效

(2)Shell函数定义的变量默认是global的,其作用域从“函数被调用时执行变量定义的地方”开始,到shell结束或被显示删除处为止。函数定义的变量可以被显示定义成local的,其作用域局限于函数内。但请注意,函数的参数是local的。例2:函数定义的global变量#!/bin/bash#define the function ltx_funcltx_func(){

2012-04-20 17:26:13 278

原创 killpg杀掉父进程及所有的子进程(因为它们属于同一组)

在进程中捕获SIGKILL信号,在信号处理函数中调用 killpg(0,SIGKILL);就可以实现杀死所有的父进程及所有的子进程了。killpg系统调用】 功能描述:将信号发送给进程组中的所有成员。用法: #include int killpg(pid_t pgrp, int signal);参数: pgrp:信号将送往的组标识,假

2012-04-19 13:58:28 1143

原创 execl函数 ,errcode:14,errstr:Bad address

是因为i_ret = execl("/bin/sh","sh","-x",str_script.c_str(),str_parameter.c_str());最后少一个参数,execl的最后一个参数必须是NULL改成i_ret = execl("/bin/sh","sh","-x",str_script.c_str(),str_parameter.c_str(),NULL); OK

2012-04-19 13:40:22 731

转载 不久要做一个与web程序开发相关的项目,选择工具真是一个头疼的事

1. Python+Web这几天就憋在房子里搞Web编程,进行语言的选择、框架的选择,把头弄得都晕了。因为对Python比较熟悉,先看Python下进行Web编程如何。Python下的Web框架是最多的,越多就越不容易挑选,你要对每种框架都进行研究后才能给出结论,最后选定Django进行了皮毛的研究。发现真要开发起来还是比较烦人的,涉及的东西太多了。后来又看了看其他轻量级的框架如mod_p

2012-02-27 20:29:00 548

转载 Linux信号集

Linux信号集  1.    信号集概念  信号集是一个能表示多个信号的数据类型,sigset_t set ;set即一个信号集。  既然是一个集合,就需要对集合进行添加/删除等操作。  int sigemptyset(sigset_t *set); 将set集合置空  int sigfillset(sigset_t *set); 将所有信号加入set集合  int si

2012-02-17 13:39:05 1935 1

转载 C语言预处理命令总结大全

C语言预处理命令总结大全 (2012-02-13 17:18)原文链接:http://blog.chinaunix.net/uid-21411227-id-3071612.html标签: C语言 预处理 分类:C编程C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境。本节将介绍如何应用预处理程序和注释简化

2012-02-15 15:46:01 331

转载 grep 文件报错 “Binary file ... matches”

grep 文件报错 “Binary file ... matches”2011-10-26 9:21grep 文件报错 “Binary file ... matches”  原因:文件为binary文件解决:strings vers.log.2010-03-09 | grep -i ‘mezimedia’           或者 grep -a -i ‘m

2012-02-15 13:58:33 1678

转载 [C++再学习系列] 全局或静态变量(对象)的初始化

[C++再学习系列] 全局或静态变量(对象)的初始化2010-10-15 13:11 by zhenjing, 739 visits, 收藏, 编辑  对于C语言的全局和静态变量,不管是否被初始化,其内存空间都是全局的;如果初始化,那么初始化发生在任何代码执行之前,属于编译期初始化。由于内置变量无须资源释放操作,仅需要回收内存空间,因此程序结束后全局内存空间被一起回收,不存在变

2012-02-14 16:11:22 341

原创 setenv,getenv,mktime非线程安全函数,在多线程环境中使用要加锁

测试程序pthread_mutex_t st_lock;void* test_thd_func(void *p_arg){        pthread_detach(pthread_self());    char ac_name[1024] = {};    for (int i = 0; i     {        sprintf(ac_name,"st

2012-02-14 15:47:44 1919 1

转载 千万不要对vector之类的容器使用memset

千万不要对vector之类的容器使用memset转自http://blog.csdn.net/morebread/article/details/7007225最近写了个非常简单的内存池,但是在使用的过程中却发现有内存泄露的现象。花了很多时间去跟踪和测试代码,最终发现在分配和回收一个带有vector成员的结构体时,对这个结构体进行了memset置零,结果导致程序出现了莫名其

2011-12-29 13:28:17 1107

vim用户手册(中文)

内容包括了vim从入门到进阶所有知识,每个知识点都有很详细的例子,更重要的是它是全中文的哦!

2011-12-22

空空如也

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

TA关注的人

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