自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(430)
  • 资源 (4)
  • 收藏
  • 关注

原创 2021-03-02

使用JAVA的结巴分词和使用对应的c++版本,在词库相同的情况下,是不是使用相同的hash算法,对于同一篇文章,计算的文件指纹就一样了呢?

2021-03-02 14:51:58 359

原创 使用postfix进行邮件过滤,结果本地的一些邮件也进入了过滤

在使用postfix进行邮件过滤的时候,目的是想过滤外面结果postfix的邮件,并不想过滤linux系统的提示邮件。但是有一次由于crond定时任务中cd命令进入的是一个不存在的目录,结果系统在每次执行这个crond任务时就发送提示邮件,导致mailq中堆积了很多,在自己解析邮件的地方效率不高的情况下,邮件过滤功能性能很差。为了解决这个问题,主要做了一下三方面的工作:1)仔细查看为什么c...

2019-09-08 11:49:34 880

原创 如何修改postfix的queue_directory目录

postqueue的保存目录如果空间不够大,在邮件堆积的情况下,有可能的空间就会被占满,而系统的其他分区还是很空的,怎么办,我们可以修改一下postfix的queue的保存位置。如何修改postfix的queue_directory目录:1)使用root账号创建期望保存postfix队列的路径,比如/home/mcwd-ndlp/data/postfix,则进行如下操作:mkdir /...

2019-09-08 11:43:54 847

原创 pcre_exec函数用法详解

以前使用pcre_exec等一些系统函数,只是觉得使用man手册看一下即可,今天使用pcre_exec函数时发现,对着手册传入了参数,但是运行时总是提示:Bus Error,即总线错误。百度了一下说引发原因: CPU处于性能方面的考虑,要求对数据进行访问时都必须是地址对齐的。如果发现进行的不是地址对齐的访问,就会发送SIGBUS信号给进程,使进程产生 core dump。RISC包括S...

2019-08-28 09:34:33 2642

原创 windows-win7编译openssl-1.0.2a

1、解压openssl-1.0.2a.tar2、cd openssl-1.0.2a3、执行perl Configure VC_WIN32,配置编译环境4、执行ms\do_ms.bat,生成配置文件5、执行nmake -f ms\ntdll.mak,执行编译、链接,编译结果在out32dll目录下,此命令生成动态库6、执行nmake -f ms\nt.mak,执行编译生成静态库,

2015-05-23 10:45:28 2172

原创 linux-程序开机启动后getcwd()获取当前目录错误

1、Shell版[html] view plaincopyprint?#获取当前脚本所在绝对路径   cur_dir=$(cd "$(dirname "$0")"; pwd)    2、C语言版    方法一:用realpath函数。这种方法用于开机启动程序获取自身目录会出错。[cpp] view plaincopyprint?

2014-05-06 08:59:37 9515

原创 Apache安装过程及下载功能配置方法

安装过程:安装apache时出现apr not found.以及apr-util not found.采用的方法是下载所需软件包: wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz   wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz如果出

2014-03-06 14:36:24 1062

原创 error LNK2001: unresolved external symbol "private: static

错误提示:如标题所示 类中定义了一个静态的CString类型的公共变量 定义完成编译连接。提出上面的错误。解决办法对静态变量进行初始化就行了。下面给出使用静态变量(static)的一些提示原文地址:http://www.yesky.com/20010828/194000.shtml  静态数据成员的使用方法和注意事项如下:  1、静态数据成员在定义或说明时前面加

2013-12-25 15:07:52 3285

原创 解决windows输入参数控制台程序输出参数是总是第一个字符问题

int _tmain(int argc, char* argv[]){    //0.初始化SOCKET    int i = 0;    for (i = 0; i        cout    if(argc    {        Usage(argv);        return 0;    }}我输入六个参数分别是AgentSOCKS

2013-12-06 17:33:13 1453

原创 新建虚拟机,如何让虚拟机组件可选?

2013-12-06 17:26:22 724

原创 windows平台多网卡设置路由

添加路由命令:route add 192.168.4.0 mask 255.255.255.0 192.168.4.1 metric 20 if 11 -p其中192.168.4.0 是网络目标,mask后是网络掩码,掩码后是网关,metric是路由算法用以确定到达目的地的最佳路径,设置时可以自己手动设置。注意if后的数字,这个数字代表需要添加路由的网口在系统之中的代号,可以通过rou

2013-11-25 17:20:23 4155

原创 error while loading shared libraries: XXX.so: cannot open shared object file: No such file...

最近参与公司项目。项目内容是将所有的模块变为组件。这就需要一些动态库。在运行可执行程序时有出现./Client.exe: error while loading shared libraries: libNetOpt.so: cannot open shared object file: No such file or directory。后来解决了此类问题。方法是第一步:vi /etc/

2013-11-11 14:41:22 1051

原创 windows编译文件参数含义

/C:在预处理输出中保留注释语句/c:只编译,不连接,相当于在"Build"菜单下选择了"Compile"/D:定义常量和宏,与源程序里的#define 有相同效果/E:预处理C、C++源文件,将源文件中所有的预编译指令及宏展开,将注释去掉,然后将预处理器的输出拷贝至标准输出设备输出,并且在每个文件的开头和末尾加入#line/EH:指定编译器用何种异常处理模型/EP:同/E,只是去掉了#line/

2013-10-29 18:13:06 892

转载 Windows下的C/C++ 命令行编译单文件多文件和加头文件等方法

在Linux下,Kris是倾向于在终端中使用gcc和g++来编译C/C++的,在Windows下相信很多人都是选择臃肿的VisualStudio,我亦不免如此。但是,我希望在Windows下也能像Linux下一样简洁编程,于是开始了我的Windows下的C/C++命令行编译环境打造之路。  几乎没有人会否认集成开发环境 (IDE)(例如,Visual Studio,NetBeans,Ecl

2013-10-29 17:51:33 2778

原创 在windows上编译运行单个文件

以前总是在linux运行命令编译文件现在知道了windows上也可以运行类似命令来实现键入cl /EHsc simple.cpp,并按 Enter。simple既为文件名此时生成一个simple.exe文件在命令提示符下 键入simple 并按 Enter。此时即可得结果。

2013-10-29 16:29:36 866

原创 windows进入文件目录方法

1.开始->运行->cmd2.进入某个磁盘,直接盘符代号:如D:,不需要命令CD或者cd切换3.进入除根录以下的文件夹 cd 文件夹路径 例如我要进入 E:/Program Files/PHP 就输入 E:回车  注:不能在一打开CMD的时候运行CD E:/Program Files/PHP,需要先进入磁盘(若一打开CMD的时候运行CD E:/Program Files/PHP,目

2013-10-29 16:06:19 2154

转载 Windows CMD命令大全

命令简介cmd是command的缩写.即命令行 。  虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,

2013-10-29 15:52:17 1044

转载 linux下字符集编码转换轻松实现

在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。一、利用iconv函数族进行编码转换iconv函数族的头文件是iconv.h,使用前需包含之。#include iconv函数族有三个函数,原型如下:(1) iconv_t iconv_open(const char

2013-10-25 15:17:25 613

原创 总结了解决multiple definition of的方法

问题原因:    当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译#ifndef TEST_H#define TEST_H#endif就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于,文件中有重名变量,于是就出现了重复定义的错误。方法1:    给每一个头文件加上条件编译,避免该文件被多次引用时被

2013-10-21 18:09:48 3217 1

原创 static的作用

static修饰的函数只能被本文件里内容使用。全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定

2013-10-21 18:04:06 665

转载 宽字符集(unicode)操作函数

字符分类:宽字符函数普通C函数描述iswalnum()isalnum()测试字符是否为数字或字母iswalpha()isalpha()测试字符是否是字母iswcntrl()iscntrl()测试字符是否是控制符iswdigit()isdigit()测试字符是否为数字iswgr

2013-09-09 18:05:15 892

原创 CentOS Linux上安装ss5服务器

ss5是常见的socks5 proxy(代理服务器)软件,开源免费,且安装很容易。下面说下如何安装ss5服务器软件。1.安装编译环境yum -y install gcc automake make2.安装socks5必要的包yum -y install pam-devel openldap-devel cyrus-sasl-devel openssl-devel3.下载,编

2013-08-26 15:39:48 5774

原创 代码移植经验教训

系统宏 心牢记:  WINDOWS: _WIN32、WIN32;  UNIX/LINUX: unix、__unix、__unix__;  SunOS/SOLARIS: __SVR4、__svr4__、sun、__sun、__sun__、sparc、__sparc、__sparc__;  HPUX: __hppa、__hppa__、__hpux、__hpux__、_HPUX_SOUR

2013-08-13 16:15:28 881

原创 linux 内存释放调试经验积累

cyf>>>>>>>>>>>>>>KernerlIneraction.cpp ServerIps 0x84ebe90*** glibc detected *** ./TestKernelInteraction.e: double free or corruption (!prev): 0x084ebe90 ***这个错误造成的原因是我申请了5个长度的内存,释放的时候释放6个长度,故报错。

2013-08-09 16:13:58 1071

原创 linux下动态库.so文件用法总结

linux下库文件有两种:一是静态库文件,以.a为后缀的文件。二是动态库文件,以.so为后缀的文件。其二者主要区别在于静态库是在编译时加载,而动态库是在运行时加载。关于静态库文件使用比较繁多,在makefile中的使用如下例:LIBS = -L./ -L$(ROOTPATH)/lib/ \-ltest这里加载的静态库文件是libtest.a。如果想要使用动态库中的接口函数,

2013-07-23 00:55:24 1290

原创 UNIX 高级编程 学习

相信很多跟我一样想要学习unix编程的朋友在兴冲冲拿到《unix环境高级编程》后,准备拿源码练练手时,执行第一个myls就出现一大堆的 错误,这未免时个不小的打击。今天把解决方法写下来,第一自己有个记录,第二也帮助那些被同样问题困扰的朋友尽快的进入linux美丽的世界。(只限 linux系统)首先需要make一次源代码编辑源码解压生成的apue.2e文件夹下的Make.defines.li

2013-04-26 14:19:15 868

原创 Linux C++中需要的头文件

inet_addr()#include   #include #include   memset()#include

2013-04-25 14:16:54 892

原创 SVN客户端--TortoiseSVN使用说明

TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。TortoiseSVN每个菜单项都表示什么意思01、SVN Checkout(SVN取出)点

2013-04-24 18:55:48 734

转载 linux epoll的介绍,操作和具体实现

Epoll基本介绍 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于 select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd 数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声

2013-04-15 17:17:16 745

转载 EPOLL简介及程序样例

其数据结构的设计是密不可分的,这个下面就会提到。首先回忆一下select模型,当有I/O事件到来时,select通知应用程序有事件到了快去处理,而应用程序必须轮询所有的FD集合,测试每个FD是否有事件发生,并处理事件;代码像下面这样:int res = select(maxfd+1, &readfds, NULL, NULL, 120);if(res > 0){for(

2013-04-15 17:12:25 835

转载 socket4和socket5的区别

socket5对于 socket4的改进关键词: socket5      socket4                                                  网络编程中,对于数据传输实时性要求较高的场合,大家都会选择UDP来作为数据传输协议,在TCP/IP协议族中UDP协议较TCP协议需要的网络系统资源更少。然而在企业应用中,由于网络安全原因等会

2013-04-10 18:01:19 23266

原创 return type of 'main' is not `int'

为什么我前面加了void main()还会有这个warning,对输出的结果会有什么影响?返回int 是一种标准里的约定。有的编译器不返回int是有警告的,有的没有。

2013-03-30 23:34:55 4244

原创 C语言strstr

函数名: strstr   功 能: 在串中查找指定字符串的第一次出现   用 法: char *strstr(char *str1, char *str2);   strstr原型:extern char *strstr(char *haystack, char *needle);   用法:#include   功能:从字符串haystack中寻找need

2013-03-22 16:02:01 940

原创 va_start、va_end、va_list的使用

下面是 里面重要的几个宏定义如下:typedef char* va_list;void va_start ( va_list ap, prev_param ); /* ANSI version */type va_arg ( va_list ap, type ); void va_end ( va_list ap ); va_list 是一个字符指针,可以理解为指向当前参数的

2013-03-20 15:40:32 761

原创 Linux C++中获取指定pid、tid的CPU与内存占用信息

使用的是ps命令+popen函数,直接上代码 #include using namespace std; #define _LINE_LENGTH 300   bool GetCpuMem(float &cpu,size_t &mem, int pid,int tid = -1) {     bool ret = false;     char cmdline[100];

2013-03-18 14:31:37 3943

原创 Linux下多个进程或线程同时对一个文件进行写操作

Linux下多个进程或线程同时对一个文件进行写操作,如何解决冲突?使用flock(锁定文件或解除锁定),简单可行!先介绍一下flock函数吧头文件 #include定义函数 int flock(int fd,int operation);函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整

2013-03-14 13:27:53 4746

原创 Linux下的单进程多用户TCP服务器,采用select方法实现。

/************************************************* * File name   : server.c * Description : 单进程并发服务器 * Author      : [email protected] * Version     : V1.0 * Date        :  * Compiler    : arm-linux-gcc

2013-03-06 11:21:34 902

原创 限制root用户远程登录方法汇集

限制 root 远程登录的目的,不言而语啦,下面是几种方法:    方法一:可以通过修改/etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务就 可以了。/etc/rc.d/sshd restart 方法二:在/etc/default/login 文件,增加一行设置命令: CONSOLE = /dev/tty01

2013-02-27 09:47:20 1572

原创 修改ssh默认端口的方法

有时候,我们需要把Linux中SSH默认端口22修改为其他,方法有以下几种:  方法 1:  01假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。   02假如要限制SSH登陆的IP,那么可以如下做:   先:修改/etc/ho

2013-02-26 18:40:26 927

原创 epoll 编程注意事项以及参数查看

每次接受新连接的时候,我监视了这几个事件。EPOLLIN | EPOLLET |  EPOLLERR | EPOLLHUP | EPOLLPRI;每次有一批事件返回,经过统计  返回的一批fd数量=出错关闭的fd数量+由EPOLLIN转为EPOLLOUT的fd数量+EPOLLOUT正常处理关闭的fd的数量。 也就是说,每批事件都完全处理,没有遗漏。观察发现EPOLLET

2013-02-21 17:29:51 3389

linux 从配置文件中获取参数

这个代码是我编译通过,并且调试成功。可以方便的把配置文件中的参数获取到。里面包含头文件和.c文件。另外还有配置文件样例。配置文件按照制定位置放到linux系统里。

2013-04-08

苹果浏览器

很好用的浏览器,不用安装,体验很好。安全稳定,不易崩溃,视觉效果好,真的很好用的浏览器。

2013-03-12

ss5代理所需rpm包

安装时使用命令 rpm -Uvh ***.rpm 。提示依赖什么装什么就OK了!

2012-12-21

空空如也

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

TA关注的人

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