自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JenponTan 的专栏

技术人生,IT生涯!

  • 博客(19)
  • 收藏
  • 关注

转载 互斥锁、条件变量、读写锁、文件锁、信号灯

今天学习TCP预先派生子经常服务程序时遇到了文件锁和互斥锁,初接触,不是很明白,特此从网上找了一下资料,看这篇文章说的比较明白,拿来借鉴。为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作。比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进行数据写入,那么怎么才能保证一个进程在写入的过程中不被其它

2012-09-11 11:30:13 846

转载 给右键菜单加入CMD命令行快速通道

很多人都很喜欢在CMD命令行下来操作计算机,我也是其中之一。 如何快速打开CMD并且定位到指定的路径呢?很多优化软件(比如优化大师)都提供了往右键菜单中加入“CMD快速通道”的功能,当右键点击文件夹时,就打开CMD并定位到该文件夹。网上也有修改注册表来实现的,其实根本不用这么麻烦。 打开“我的电脑”,点击菜单中的“工具”-“文件夹选项”,选择“文件类型”,找到“(无)资料夹”,点“高级”,

2012-02-15 14:18:41 571

原创 我们为何而生?

我们为何而生?生来为了推动社会的发展生来为当历史上的斗士或者为痛苦而生,为幸福而生谁知道?我们还是一直活着,甚至不知道为什么?为何而生真的那么重要么?我问自己有人告诉我人的一生应该怀有一种庄严的使命感也许就是这样不能清楚地告诉你要做什么,想什么但是你却要朦朦胧胧地去发现答案坚持下去,找出属于你自己的答案

2012-01-15 09:47:11 354

转载 学习编程的方法

1、强调动手,强调实践        只有通过大量的实践才能不断的培养编程感觉               编程是有感觉的,就好象英语阅读一样,是有语感的               每天都要编写代码,不断培养编程感觉2、通过实践来增强对理论的理解        没有实践的理论是空虚的理论               没有理论的实践是盲目的实践

2012-01-15 09:45:56 638

转载 素数判定算法

素数判定算法(当且仅当n为素数时,最终输出数才为素数)    lnput:   integer   n>1      1.if (n is of the form   a^b, b>1)output COMPOSITE;    2.R=2    3.while (r    4. if(ged(n,r)≠1) output COMPOSITE;    5. if(r

2012-01-15 09:42:27 482

原创 面向对象设计原则

所谓“好的面向对象设计”是那些可以满足“应对变化,提高复用”的设计。对象是什么?>>从概念层面讲,对象是拥有某种责任的抽象。>>从规格层面讲,对象是一系列可以被其他对象使用的公共接口。>>从语言实现层面来看,对象封装了代码和数据。怎样才能设计“好的面向对象”?>>遵循一定的面向对象设计原则。>> 熟悉一些典型的面向对象设计模式。         面向对象设计原则

2012-01-15 09:37:33 270

转载 动态链接库dll,静态链接库lib, 导入库lib

目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj有错,即静态

2012-01-15 09:31:14 242

转载 gvim Gtk-WARNING **: Invalid input string 修复

<br />编辑.bashrc文件<br />export  LANG=zh_CN.UTF-8;<br />export  LC_CTYPE="zh_CN.UTF-8";<br />export  LC_NUMERIC="zh_CN.UTF-8";<br />export  LC_TIME="zh_CN.UTF-8";<br />export  LC_COLLATE="zh_CN.UTF-8";<br />export  LC_MONETARY="zh_CN.UTF-8";<br />export  LC_

2010-12-27 11:13:00 660

原创 使用pthread_mutex_t锁的例子

<br />linux下为了多线程同步,通常用到锁的概念。<br />posix下抽象了一个锁类型的结构:ptread_mutex_t。通过对该结构的操作,来判断资源是否可以访问。顾名思义,加锁(lock)后,别人就无法打开,只有当锁没有关闭(unlock)的时候才能访问资源。<br />它主要用如下5个函数进行操作。<br />1:pthread_mutex_init(pthread_mutex_t * mutex,const pthread_mutexattr_t *attr);<br />初始化锁变量

2010-11-25 16:11:00 2274

原创 LINUX中使用PTHREAD_KILL函数测试线程是否存活的例子

<br />使用pthread_kill函数检测一个线程是否还活着的程序,在linux环境下gcc编译通过,现将代码贴在下面:<br /><br />/******************************* pthread_kill.c *******************************/<br />#include <stdio.h><br />#include <stdlib.h><br />#include <pthread.h><br />#include <errno.h><b

2010-11-25 16:11:00 709

转载 电脑是XP与Ubuntu10.04双系统

刚昨天下午自己亲身经历更新后出现的这个错误,头疼8小时后,最快的解决方法是:<br />1.准备另外一台电脑,一个U盘,还有一个Ubuntu的iso镜像。(iso镜像在你的电脑中怎么办?换台机器重新下载或者使用winpe再拷出来)<br />2.用UltraISO将存在电脑上的Ubuntu的iso写入硬盘映像,注意写前U盘格式化,其实做好以后就是所谓的引导盘,代替Ubuntu安装光盘的。<br />3.插回自己的电脑选择usb启动,打开terminal输入如下<br />

2010-09-28 12:35:00 304

转载 如何指定GCC的默认头文件路径(非常有用)

<br />在交叉编译的时候我们需要用到其他的库,在config时候可以通过“-I”来指定头文件目录,但是每次都需要设置的话难免有些麻烦,找到一个简单的方法。看下文的红色部分。<br /><br />有大量的环境变量可供设置以影响 GCC 编译程序的方式。利用这些变量的控制也可使用合适的命令行选项。一些环境变量设置在目录名列表中。这些名字和 PATH 环境变量使用的格式相同。特殊字符 PATH_SEPARATOR (安装编译程序的时候定义)用在目录名之间。在 UNIX 系统中,分隔符是冒号,而 Window

2010-09-15 23:45:00 362

转载 C++库大全

<br /> 在网上发现这篇文章,上Google搜索了下下,但由于转载太多,已经找不到原作者了,只能向原作者抱歉! ——我是再次转过来的!基础类<br />1、 Dinkumware C++ Library<br />参考站点:http://www.dinkumware.com<br />P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在

2010-08-15 16:37:00 317

转载 C++库大全

<br /> 在网上发现这篇文章,上Google搜索了下下,但由于转载太多,已经找不到原作者了,只能向原作者抱歉! ——我是再次转过来的!基础类<br />1、 Dinkumware C++ Library<br />参考站点:http://www.dinkumware.com<br />P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在

2010-08-15 16:37:00 300

转载 等比数列求和公式证明

<br />      (1) 等比数列:a (n+1)/an=q (n∈N)。 <br />  (2) 通项公式:an=a1×q^(n-1); <br />  推广式:an=am×q^(n-m); <br />  (3) 求和公式:Sn=n×a1 (q=1) <br />  Sn=a1(1-q^n)/(1-q) =(a1-an×q)/(1-q) (q≠1) <br />  (q为比值,n为项数) <br />  (4)性质: <br />  ①若 m、n、p、q∈N,且m+n=p+q,则am×an=ap×

2010-08-14 12:02:00 9044

转载 vim 关键字和注释的颜色粗体设置

<br />vim 都是 通过 hi 这个命令来设置<br />例:设置关键字为蓝色非粗体 :<br />hi Identifier ctermfg=blue cterm=none(bold 就设置成粗体)<br />hi Comment ctermfg=darkgreen<br />hi String ctermfg=darkred<br />hi Type ctermfg=yellow<br />hi Number ctermfg=darkblue<br />hi Constant ctermfg=bl

2010-08-04 10:56:00 9777

转载 gcc for Windows 开发环境介绍

在Windows操作系统下的gcc   第一节 GCC家族概览   GCC是一个原本用于Unix-like系统下编程的编译器。   不过,现在GCC也有了许多Win32下的移植版本。所以,也许对于许多Windows开发者来说,GCC还是一个比较陌生的东西。所以,我希望通过这章的叙述,让你——一个Windows开发者对GCC这一个优秀的编译器有一个大概的了解。   历史   GCC是GNU公社的一个项目。是一个用于编程开发的自由编译器。最初,GCC只是一个C语言编译器,他是GNU C Compiler 的英文

2010-08-04 08:49:00 469

原创 牛人的Blog!

<br /> <br />云风的 BLOG<br />http://blog.codingnow.com/

2010-08-03 15:15:00 283

原创 C++模板不能分离式编译!!

写这篇文章为了说明一点:“很多C++编译器,不支持模板分离式编译!!” 当然还要加上时间是2010年7月26日!!!下面直接看测试结果:文件:A.htemplateclass A{private: T datas; int number;public: A(); A(T d); void show();}; 文件:A.cpp#include #include "A.h"template A::A(){ number = 99;}temp

2010-07-26 20:46:00 654

空空如也

空空如也

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

TA关注的人

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