自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

转载 链接器都干了些什么?

<br /> <br />目前项目在不停的增长,我想还是在它规模仍旧很小的时候把它的模块分清楚,不同模块分到不同的projects里面,这里面出现了很多问题,也反映了我知识上的很多不足。<br />1,project最后的输出要设置清楚,有的是static lib,有的是dll,有的是exe,不一样的输出要设置好,它们都是linker的成果,但是以不同的方式应用。<br />2,project dependency设置好,build order什么的,通过这些把一系列的project联系起来。<br />3

2011-06-02 09:43:00 786 1

原创 vs2005 调试 F11 不能进入静态库

<br />工程 -> 属性 -> 配置属性 -> 常規MFC的使用: 在静态库中使用mfc

2011-05-31 14:27:00 1444

转载 使用CFile类对文件进行读写

<br />CFile类提供了对文件进行打开,关闭,读,写,删除,重命名以及获取文件信息等文件操作的基本功能,足以处理任意类型的文件操作<br /><br />一个读写文件的例子:<br />文件I/O<br />  虽然使用CArchive类内建的序列化功能是保存和加载持久性数据的便捷方式,但有时在程序中需要对文件处理过程拥有更多的控制权,对于这种文件输入输出(I/O)服务的需求,Windows提供了一系列相关的API函数,并由MFC将其封装为CFile类,提供了对文件进行打开,关闭,读,写,删除,重命名

2011-05-27 09:55:00 19648

转载 extern数组与extern指针

<br />数组名代表了存放该数组的那块内存,它是这块内存的首地址。这就说明了数组名是一个地址,而且,还是一个不可修改的常量,完整地说,就是一个地址常量。数组名跟枚举常量一样,都属于符号常量。数组名这个符号,就代表了那块内存的首地址。注意了!不是数组名这个符号的值是那块内存的首地址,而是数组名这个符号本身就代表了首地址这个地址值,它就是这个地址。这就是数组名属于符号常量的意义所在。由于数组名是一种符号常量,它是一个右值,而指针,作为变量,却是一个左值,一个右值永远都不是左值,那么,数组名永远都不会是指针!<

2011-05-11 11:04:00 932

转载 将MySQL数据映射到Memcached中 收藏

<br /><br />测试环境在Linux下进行,版本系统为CentOS5.<br />以下为相关软件,包括其版本和下载地址:<br /><br />mysql-5.1.30 下载<br />memcached-1.2.6 下载<br />libevent-1.4.7-stable 下载<br />memcached_functions_mysql-1.1 下载<br />libmemcached-0.26 下载<br /> <br />编译安装MySQL,安装因个人细好而定,省略许多与测试无关的编译细节

2011-05-10 10:14:00 1019 2

转载 linux常用svn命令

<br /> 原地址:http://www.rjgc.net/control/content/content.php?nid=4418<br />      1、将文件checkout到本地目录<br />svn checkout path(path是服务器上的目录)<br />例如:svn checkout svn://192.168.1.1/pro/domain<br />简写:svn co<br />        2、往版本库中添加新的文件<br />svn add file<br />例如:svn

2011-05-05 14:17:00 467

转载 关于正规表达式的元字符

2010年11月12日 admin 发表评论 阅读评论 关于正规表达式的元字符正规表达式的元字符(metacharacter)是不代表自身原有含义的字符.它们拥有以某种方式控制搜索模式的特殊能力元字符列表. 是匹配除换行符之外的任意字符[a-z0-9] 匹配集合中任意单个字符[^a-z0-9] 匹配不在集合中任意单个字符/d 匹配单个数字/D匹配非数字字符 等郊于[^0-9]/w 匹配数字型的(字)字符/W匹配数字型的(非字)字符字符类与空白字符/s

2011-04-28 10:02:00 941

转载 getopt 详解

getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include extern char *optarg; //选项的参数指针 extern int optind, //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int opterr, //当opterr=0时,getopt不向stderr输出错误信息。 extern int optopt; //当命令行选

2011-04-27 10:25:00 710

转载 getopt 用法

<br />=== getopt使用 ===<br /><br />在讨论参数处理之前,我们先明确两个概念:选项、选项参数<br />gcc -g -o test test.c<br />我们经常使用上面的命令来编译程序,这里g和o就是选项,其中test就是o的选项参数<br /><br />下面我们来看一下getopt:<br /><br />首先是函数声明:<br />#include <unistd.h><br />extern char *optarg;<br />extern int optind

2011-04-27 10:13:00 1398

转载 linux下载文件命令wget

<br />http://www.linuxsense.org/xxxx/xxx.tar.gz<br />简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载<br />例如: # wget -c http://www.linuxsense.org/xxxx/xxx.tar.gz<br />下面详细阐述wget的用法:<br />wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.<br />所谓的自动下

2011-04-23 09:00:00 4434

转载 PKI证书格式比较

<br />PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:<br />PKCS#12 Personal Information Exchange Syntax Standard<br />X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准

2011-04-21 11:12:00 1440 1

转载 Linux Shell命令判断文件是否为空:

<br />if [ $(stat -c %s 某某文件名) -eq 0 ]; then<br />echo “empty” <br />else echo “not empty”<br /> <br />fi

2011-04-21 10:26:00 3475

转载 Linux下时间戳格式和标准时间格式的转换

在LINUX系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数。如/etc/shadow里的密码更改日期和失效日期,还有代理服务器的访问日志对访问时间的记录等等。 下面介绍几种时间戳格式和标准时间格式转换的方法:1、分别以标准格式和时间戳来显示当前时间[root@365linux ~]# date2010年 08月 10日 星期二 03:39:21 CST[root@365linux ~]# date +%s1281382775 2、显示指定时间

2011-04-20 22:09:00 22574 2

翻译 如何设置socket的Connect超时(linux)

<br />  <br />  <br />[From]http://dev.cbw.com/c/c/200510195601_4292587.shtml<br />1.首先将标志位设为Non-blocking模式,准备在非阻塞模式下调用connect函数<br />2.调用connect,正常情况下,因为TCP三次握手需要一些时间;而非阻塞调用只要不能立即完成就会返回错误,所以这里会返回EINPROGRESS,表示在建立连接但还没有完成。<br />3.在读套接口描述符集(fd_set rset)和写套接

2011-04-12 19:11:00 1150

转载 Linux C MySQL数据库函数

<br /><br />1. 初始化一个连接句柄<br />    MYSQL *mysql_init(MYSQL *);<br />    正确:返回一个指向新分配的链接句柄结构的指针<br />    错误:NULL<br />    注:该函数的传入参数通常为NULL即可。<br />2. 建立物理连接<br />    MYSQL *mysql_real_connect(MYSQL *connection,<br /> const char *server_host,<br /> const cha

2011-04-08 19:58:00 1701

转载 向shell或者sql脚本传参或接收参数的方法

<br />1.向shell中传参数的方法,后面是重定向,将日志导出到当前目录下<br />sh a.sh aaa bbb > a.log<br />2.shell中接收参数的方法<br />echo "@a.sql $1"|sqlplus $1/$2<br />3.通过shell调用sql脚本,并向其中传参数的方法:<br />echo "@a.sql $1"|sqlplus $1/$2<br />4.sql脚本接收参数的方法<br />define v_str=&1<br />begin<br />p_

2011-04-06 15:38:00 14753

转载 30分钟搞定BASH脚本编程!

<br />一个最简单的脚本 <br />这篇指南将通过一些例子来帮助大家学习功能强大的shell脚本编程. <br />在这一节中我将学习一些简单的脚本,它将有利于你深入学习一些知识。 <br />一个最经典的Hello World程序 <br />#!/bin/bash <br />echo Hello World <br /><br />这个脚本只有二行,它的第一行这个脚本程序由那个程序来解释.第二行只有一个简单的动作,它的功能是在终端上打印出一行”Hello World” 。如果你测试着执行这个命令

2011-04-06 15:18:00 1269 1

转载 ERROR 1130: Host 'A'is not allowed to connect to this MySQL server

<br />用Navicat连接远程MYSQL,提示如下错误,我以为是自己的防火墙问题,但是关了,依然不行。<br />我认为这段英文,有点误导,让人感觉是自己这边出了问题。<br />看解决方法吧<br />ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server<br />解决方法:<br />1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑

2011-04-06 14:17:00 663

转载 一个总经理的11个经典招聘面试问题

<br />一个总经理的11个经典招聘面试问题(网转)招聘中自己面试了上百个大学生,觉得他们在面试的心态和技能方面急需提高,总结一些经典面试问题,以便顺利通过这一关,进入人生的第一个职业。孙子曰:“兵者,国之大事,死生之地,存亡之道,不可不察也。”当代社会,应聘一个岗位,犹如与敌国打仗。准备打仗的时间与打仗时间之比应为10:1,甚至是100:1。故,我们不得不深究也。    最近,招聘中自己面试了上百个大学生,觉得他们在面试的心态和技能方面急需提高,以便顺利通过这一关,进入人生的第一个职业。面试过程中,我会

2011-04-02 14:38:00 2171

转载 在RHEL5.4安装ndoutils1.4.14

<br />rhel_监控2010-10-22 20:43:01阅读108评论0  字号:大中小 订阅<br />一、实验准备<br />1.安装好lamp构架,如果不想用源代码编译安装,就直接配置一个本地的yum源进行安装,这样就简单多了。<br />2.安装好nagios、GD库,让其可以正常运行。本实验旨在能正常提供nagios的机上进行安装ndoutils<br />3.准备好DBD-mysql-4.014.tar.gz、DBI-1.609.tar.gz,可以在http://search.cpan.

2011-04-02 14:32:00 1208

转载 Nagios插件NDOUtils安装

1.DBI的安装<br /># wget http://www.cpan.org/modules/by-module/DBI/DBI-1.608.tar.gz <br /># tar zxvf DBI-1.608.tar.gz <br /># cd DBI-1.608<br /># perl Makefile.PL<br /># make<br /># make test<br /># make install<br />2.DBD的安装<br /># wget http://www.cpan.org/mo

2011-04-02 12:24:00 3404

转载 nagios相关参数

<br /> 1、设置Apache2服务器,让apache2启动时加载nagios<br />       Nagios安装好之后,我们需要从浏览器去察看nagios的监控信息,否则如果直接去看nagios的log文件,人会疯掉的。<br />       那么,如何才能从浏览器看到nagios的信息呢?这时需要用到apache2服务器,也就是基于apache2的基础上,通过浏览器去访问nagios的数据信息。<br />       我们要做的工作只是配置一下apache,即修改配置文件。要修改的内容在n

2011-04-02 08:54:00 1880

转载 Nagios基本配置的详细攻略

   <br />伪技术人员的成长历程之38-Nagios基本配置的详细攻略<br />这篇整个都是用来讲Nagios的localhost.cfg完整的基本功能定义配置,更重要的是要通过配置来理解Nagios的工作方式和原理。绝对详细到掉渣= =||<br /> <br />接上一话,在安装完Nagios主程序以及Nagios-plugins插件程序之后的配置,最重要的是Nagios的功能定义配置了,它真的可以独立一章出来讲,虽然东西较多,但其实并不难。<br /> <br />一.完成Nagios安装完后

2011-04-02 08:52:00 2564

转载 Nagios编译安装的详细

<br /> 原本想简简单单用RPM包搞定Nagios的偷懒想法果然是行不通啊= =||,原来想编译安装多麻烦啊~用RPM包当然比较好,可是偏偏我RP装到了安装Nagios插件包的时候需要fping以及SNMP::NET-Perl两个功能包的缺失,在网上怎么找也找不到,尤其是fping,无论是RHEL和CentOS里都不集成。到人家官网www.fping.com上找RPM包,哦不,源码也好,结果人家Download里一部片空白(当时大脑里也是一片空白...囧),只好放弃。无奈选择了源码安装Nagios,本来

2011-04-02 08:51:00 2883

转载 linux 下ftp的上传与下载

FTP服务器<br />From: http://dev.firnow.com/course/6_system/linux/Linuxjs/20100124/193849.html概述<br />FTP服务器,则是互联网上提供存储空间的计算机,它们依照FTP协议提供服务。FTP全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。 <br />Linux下实现FTP服务的软件很多,最常见 又VSFTPD,W

2011-03-28 21:29:00 1204

转载 getaddrinfo()函数详解

<br /><br /> <br />1. 概述<br /><br />IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个addrinfo的结构(列表)指针而不是一个地址清单。这些addrin

2011-03-28 21:18:00 24377 1

转载 linux下C语言实现一个线程池

<br /> <br />   什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。<br /><br />   下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。<br />   pool_init()函数预先创建好max_thread_

2011-03-25 17:02:00 735

转载 从Linux程序中执行shell(程序、脚本)并获得输出结果

Contents1. 前言2. 使用临时文件3. 使用匿名管道4. 使用popen5. 小结1. 前言<br />Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命

2011-03-25 09:54:00 626

转载 开发人员之路

<br />相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心。在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人。第二句最常说的话是对公司的领导:“不行我就走人!”,实际上你也真的走过几回。对了,在这几年中,因为你的经济条件不错,你开始买房、开始谈恋爱、结婚、开始有了自已的小

2011-03-24 13:04:00 537

转载 puppet 应用

使用Puppet<br />前面看过Puppet语言的句法了,并且说了如何使用句法去表达配置,这次我们开始看一下Puppet的能力和怎么样在你的结点中充分利用这门语言去接合实际的配置。我们开始通过演示如何使用Puppet在一个真实的环境中配置你的结点,我们将充分利用(三)中我们讲过的句法。<br />所有的这些例子表现了在你的环境中实现Puppet的一种方式.这些例子被设计用做给你一个如何实现生产Puppet能够工作的主意,一些例子表现出一些最好的实践准则,但是还有一些是关于使用Puppet去使你配置清晰的

2011-03-21 09:49:00 3207 2

转载 Puppet 语法

<br />定义配置资源<br />在puppet中基本的配置宣称叫做资源,像我们在上次学习中写到的那样:<br />file { "/etc/passwd":<br />owner => "root",<br />group => "root",<br />mode => 644,<br />}<br />这是一个简单的puppet的配置资源,资源是你像管理你的计算机的配置条目,资源包括的条目像文件(file),服务(service),定时工作(cron jobs),用户组(users),群组(group

2011-03-21 09:47:00 6994

转载 保持精力充沛的秘诀

 关键字:养生 冯学文 <br />    上高中时,一位化学老师每每谈及他的一位获得奥林匹克化学奖的学生,自豪之情总是溢于言表。最让我羡慕的是,那位学生有着充沛的精力。而当时的我,每天上午到了第三、四节课时,就开时昏昏欲睡,而下午的前两节课,是我的“必睡课”。这倒不是因为我对学习没兴趣,而是身不由己。<br /><br />    为了改变这种不正常情况,我曾经吃过许多药,也试过保证八个小时的睡眠时间等办法,可惜都不管用,因此学习成绩不断下降。直到最近,我或许才了解了其中的原因。下面说说我现在的想法。<b

2011-03-20 20:51:00 1360

转载 Puppet安装配置日志(源码安装)

<br /> 不要相信,也不要看网络上面的puppet的安装文档,基本全部都是同一的使用YUM包安装的结果。<br />我测试结果就是,server和client永远出现SSL认证出现错误,无法同步。<br /><br />我这里是采用官方网站的源码包的安装步骤完成puppet的安装。<br />操作系统:centos 5.2 64BitPuppet版本:2.6.4Facter版本:1.5.8<br /><br />1. 登陆puppet官方网站下载最新的源码包(2.6.4),而且重要的是还需要提前下载fa

2011-03-18 17:59:00 4709

转载 开源自动化部署管理工具Puppet安装

<br />Puppet是一款开源的工具,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。可以被其他人利用,而忽略公司差异,实现了自动化部署。<br />环境:<br />系统:centos5.5<br />1 首先安装企业Linux(EPEL)yum的仓库的额外的软件包:<br />#rpm –Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm<br

2011-03-18 17:58:00 5523 1

转载 虚拟机上网配置

第一种情况: <br />主机使用PPPOE拨号上网 <br /><br />方法一:NAT方式 <br /><br />1、先关闭虚拟机中的操作系统,回到虚拟机主界面 <br />双击主界面右上方的的“Ethernet”,弹出“Network Adapter”对话框,选择“NAT” <br /><br />2、启动虚拟机操作系统,设置IP为动态获取,即通过DHCP获得。 <br /><br />此时虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。 <br /><br />方法二:Host

2011-03-17 13:48:00 475

原创 虚拟机上网的方法

<br />公司内网虚拟机上网<br /> <br />用桥接方式:<br /> <br />ip地址与内网ip一致(未被使用),网关、dns也相同(/etc/resolv.conf 设置)<br /> <br />如:<br />vim /etc/sysconfig/network-scripts/ifcfg-eth0<br /> <br />DEVICE=eth0<br />ONBOOT=yes<br />ROOTPROTO=static<br />HWADDR=00:0c:29:20:de:59<br

2011-03-17 12:39:00 393

转载 配置管理工具Puppet简介、安装

<br />系统管理员经常陷入一系列的重复任务中:如升级软件包、管理配置文件、系统服务、cron任务以及添加新的配置、修复错误等。这些任务通常是重复低效的,解决这类任务的第一反应是让他们自动化,于是出现了定制脚本。由于环境复杂,定制脚本和应用程序一再被重复开发,并且很难适合多种平台,灵活性和功能也很难保证,于是像Puppet这样的自动化配置管理工具便出现了。<br />在开源世界里,有很多配置工具可供选择,这个领域一些关键的产品有:<br />Puppet(http://puppet.reductivela

2011-03-17 09:02:00 1267

转载 puppet命令详解+配置文件

用户, 命令, puppet, 配置文件puppet命令详解+配置文件 <br />这些命令保存着有用!<br />一、命令<br />puppet 用于执行用户所写独立的mainfests文件<br />用法:<br />puppet [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose]<br />[--detailed-exitcodes] [-l|--logdest ]<br /># puppet -l /tmp/manifest.log man

2011-03-17 08:42:00 4107

转载 CFile操作详解

各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。<br />  1.文件的查找 <br />  当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码

2011-03-14 08:50:00 573

转载 解决/usr/bin/ld: cannot find -lmysqlclient错误

<br />类似/usr/bin/ld: cannot find -xxxx的错误有很多, 首先我们可以最简单的判断一下:<br />这类情况一般是由于缺乏某某库文件, 又或者可能是由于已存在的库问题版本不对造成的<br />一般都是解决的办法就是安装缺乏的devel包就可以解决, 当然还有其他的未知因素, 我们看一个实例:<br />我在一台装centos5.2 x86_64的系统上配置php环境, 提示这个错误<br />"/usr/bin/ld: cannot find -lmysqlclient"<

2011-03-09 16:54:00 15355 3

空空如也

空空如也

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

TA关注的人

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