自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FateDier的专栏

每一个Coder都有着一个改变世界的梦想

  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++利用反射和简单工厂模式实现业务模块解耦

1. 业务说明为了便于说明,举一个简单的例子。假设现在有一个项目需要建立一个和银行交互的平台,目前只接入工商银行,后续接入其他银行,每个银行的业务都有差异,报文格式可能也不一致。这里只列举几个简要的流程,仅包括拼报文,发送报文,接收报文,解析报文,其余整体架构以及后续处理等内容省略。2. 初步设计创建一个银行交互类 BankOpt,包括四个函数:int setMsg(); //拼报文i

2015-03-04 22:50:28 2620 2

原创 epoll使用说明

1.    简介在《UNIX网络编程》一书中介绍了如何使用select/poll来实现I/O多路复用,简而言之就是通过内核的一种机制,监视多个文件描述符,一旦某个文件描述符处于就绪状态,就通知用户程序进行相应的读写操作,这样用户程序就不用阻塞在每一个文件描述符上。epoll相对于select/poll来说有很大优势:(1)不再需要每次把fd集合从用户态拷贝到内核态。(2)不

2015-01-25 22:48:10 777

原创 如何处理僵尸进程

1.什么是僵尸进程        如果父进程在子进程之前终止,则所有的子进程的父进程都会改变为init进程,我们称这些进程由init进程领养。这时使用ps命令查看后可以看到子进程的父进程ppid已经变为了1。        而当子进程在父进程之前终止时,内核为每个终止子进程保存了一定量的信息,所以当终止进程的父进程调用wait或waitpid时,可以得到这些信息。这些信息至少包括进

2014-12-16 16:40:07 4541

原创 linux core文件调试

在完成公司项目,测试进程的时候,经常会发现日志到了某一段特定的代码的时候就没了,进程直接退出,也没有捕获到任何的异常信息,如果日志打印的较多还可能比较容易发现问题,如果日志较少,就很难进行进一步的查错了。但是发现在该目录下生成了一个core文件,可以帮助我们查找程序崩溃的原因。 1. 什么是core文件在linux系统下,如果进程不能正常运行,就可能会产生core文件。co

2014-12-07 22:47:43 1730

原创 linux shell中的条件判断

1. 退出状态         在Linux系统中,每当一条命令执行完成后,系统都会返回一个退出状态,这个状态被存放在$? 这个变量中,是一个整数值,我们可以根据这个值来判断命令运行的结果是否正确。         通常情况下,退出状态值为0,表示执行成功,不为0的时候表示执行失败。 POSIX规定的退出状态和退出状态的含义:0       运行成功1-255

2014-11-24 10:56:25 945

原创 能否被8整除

题目:给定一个非负整数,问能否重排它的全部数字,使得重排后的数能被8整除。 输入格式: 多组数据,每组数据是一个非负整数。非负整数的位数不超过10000位。 输出格式 每组数据输出一行,YES或者NO,表示能否重排它的全部数字得到能被8整除的数。注意: 重排可以让0开头。

2014-11-13 11:42:47 2257

原创 使用astyle进行代码格式化

在参与团队的开发的时候,由于平台和编写代码的工具的不同等等问题,经常会遇到代码格式非常混乱的情况,严重影响了代码的阅读效率。         后来发现了一款比较好的工具——“astyle”。          astyle这个工具可以将现有的代码格式转换为指定的风格,当你将乱七八糟的代码用astyle转换一下之后,就会感觉整个世界都清静了……

2014-11-10 11:34:30 2776

转载 Linux netstat命令详解

转载自:http://blog.csdn.net/iloveyin/article/details/38512793

2014-11-05 11:18:23 525

原创 Linux下文件编码格式转换

最近把项目放到github上,但是发现代码中注释的中文部分有些是乱码,检查后发现是因为我的Centos装在虚拟机上,而我是在Windows环境下通过UE来写代码的,而UE默认是使用ASCII编码。        所以希望在Linux上使用命令来批量转换编码格式。         查了资料后发现可以使用iconv命令。

2014-11-03 10:36:57 4524

原创 使用Vim打造自己的IDE

之前一直使用UE的FTP功能编辑Linux虚拟机上的代码文件,之后再切换到Linux上去编译,调试程序,感觉这样比较麻烦,而且UE的功能也不像VS以及Eclipse的IDE那样强大,所以就查阅了一些资料,想要把Linux下最常用的文本编辑工具Vim打造成一个适合自己的IDE。 配置自己的Vim过程中参考了以下的blog和文档:http://blog.csdn.net/fbfsber00

2014-10-29 16:24:49 730

原创 vimdiff常用命令

整理了一下在使用vimdiff进行文件合并的时候用到的一些常用的命令,方便以后查询。 可以使用多种方式使用vimdiff,例如:vimdiff [file1] [file2]vim -d [file1] [file2] 其他的一些的编辑命令与vim相同,这里主要记录一些常用的合并文件需要用到的命令: Ctrl+w之后按w可以切换到另外一个文件 [c跳

2014-10-24 15:20:48 825

转载 gcc的使用

gcc命令格式:       gcc [options] [filename]       选项:       -x language  指定使用的语言(C C++ 或汇编)       -c          只对文件进行编译和汇编,不进行链接  gcc –c test.c       -S          只对文件进行编译,但是不进行汇编和链接 gcc –S test.c

2014-10-23 17:45:30 488

原创 Git常用操作

修改某一次提交的说明信息有时候我们需要修改之前提交的时候的说明信息,没有操作命令可以直接完成,但是使用rebase命令可以实现。 例如我们要修改倒数第二次的提交的说明信息:$ git rebase -i HEAD~3注意:这里HEAD~后面跟着的是3而不是2,因为这里指的是要修改的提交的父提交。 之后会进入到文本编辑界面,如下图 将要修改的提交前面的pick

2014-10-16 17:57:03 466

原创 Git使用教程

Git官方文档:http://git-scm.com/book/zh/廖雪峰

2014-10-16 15:44:26 553

原创 Git使用备忘

一、Git的配置/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。 ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .g

2014-10-16 15:19:06 501

原创 主机使用代理上网,虚拟机Linux的shell如何连外网

在公司电脑上网都需要使用代理,虚拟机里面装的Linux系统需要使用yum命令来安装软件,所以需要在shell界面能连上外网才行。因为公司限制了每个人只能用一个IP,所以虚拟机中的Linux使用NAT方式和主机相连。主机是Win7操作系统,会发现网络里面多了VMnet8这个网络。 在VMware界面,点击“编辑”,“虚拟网络编辑器”

2014-10-14 15:10:28 13250

原创 C/C++获取精确到微秒级的系统时间

最近要为自己的项目开发一个日志模块,需要获取精确到微秒级的系统时间,查阅了一些资料,发现在C/C++里面可以通过gettimeofday(struct timeval * tv,struct timezone * tz)和localtime(const time_t * timep)这两个函数的配合使用来得到我想要的结果。                 先贴一下这两个函数的说明:  

2014-09-30 11:05:06 23467 2

原创 size() == 0和empty()的比较

最近开发公司项目的时候发现大量用到了STL模板库,而且很多地方都需要判断一个容器是否为空,看到了两种写法,分别使用了容器的 size() 函数和 empty()函数。          我觉得很好奇,这两种写法有什么区别呢?在网上查阅了一些资料,发现说empty()效率更高的占大多数。又查看了SGI STL的帮助文档,里面有一句话:          Ifyou are testi

2014-09-26 10:53:18 6608 2

原创 从简单实例开始,学会写Makefile(二)

五、.d文件,解决文件间的相互引用1、自动生成依赖关系在前文的项目基础上,考虑一下这种情况:如果我们在w1.h文件里包含了头文件w2.h以及w3.h并且用到其中定义的函数。         第一次编译没有遇到问题,但是如果后续的开发过程中修改了w2.h或者w3.h文件中的内容,再执行gmake命令的时候,就遇到问题了——w1.cpp文件不会被重新编译了!            

2014-09-24 15:54:51 2107 3

原创 从简单实例开始,学会写Makefile(一)

作为一个刚刚从大学囚笼里走出的新人,进公司不久就遇到了一个不大不小的门槛——看不懂Makefile!虽然还不至于影响到项目进度,从别的地方拷贝一份过来稍加修改就可以用了,但是,对于咱们“程序猿”来说这实在是一件让人感到很不爽的事。于是,百度,谷歌(PS:吐槽一下,不XX的话Google已经完全不能用了,Bing的效果都要比百度好一些),各种看资料,看大牛的博客,或许是本人比较笨,也或许是网上的资料

2014-09-08 22:42:42 27753 5

猜数字小游戏

一款简单的四位猜数字小游戏,VC6.0环境下MFC编写。

2011-12-22

精诚超市管理系统

精诚超市管理系统,包括前台销售以及后台管理的应用。

2011-12-22

空空如也

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

TA关注的人

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