自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

转载 一个简单的PHP扩展

PHP扩展开发:第一个扩展发布时间:December 14, 2011 分类:PHP《PHP扩展开发:安装PHP》《POSIX定时器:timer_settime() 》在上一篇文章《PHP扩展开发:安装PHP》我们已经将开发PHP扩展的PHP环境安装成功,那么接下来采用最简单直接的方式创建第一个扩展。我们先假设业务场景,是需要有这么一个扩展,提供一个

2014-09-12 11:29:59 730

转载 为PHP开发C++扩展

摘要有时候,单纯依靠 PHP “本身”是不行的。尽管普通用户很少遇到这种情况,但一些专业性的应用则经常需要将 PHP 的性能发挥到极致(这里的性能是指速度或功能)。由于受到 PHP 语言本身的限制,同时还可能不得不把庞大的库文件包含到每个脚本当中。因此,某些新功能并不是总能被顺利实现,所以我们必须另外寻找一些方法来克服 PHP 的这些缺点。了解到了这一点,我们就到了应该接触一下 PHP 的

2014-09-12 10:56:31 13214

转载 slf4j通过代码配置

给别人提供一个jar包,可以直接打印日志,将日志采集到固定位置,现在大多数的情况都是使用的logback.xml文件,如果还用这个文件可能会造成冲突(当然可以用其他名字),为了避免还得加载文件,直接用Java编写配置,如下:public class SecurityLoggerFactory { private static final String logPath = "/ex...

2018-09-12 19:47:50 1852

转载 SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

一 简介(1)过滤器:依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等关于过滤器的一些用法可以参考我写过的这些文章: ...

2018-07-25 17:33:42 220

转载 Linux 下 C 编译gcc与调试gdb工具介绍

前言Linux 的发行版中包含了很多软件开发工具. 它们中的很多是用于 C 和 C++应用程序开发的. 本文介绍了在 Linux 下能用于 C 应用程序开发和调试的工具. 本文的主旨是介绍如何在 Linux 下使用 C 编译器和其他 C 编程工具, 而非 C 语言编程的教程. 在本文中你将学到以下知识:  什么是 C GNU C 编译器 用 gdb 来调试GCC应用程序 

2014-10-14 19:11:48 991

转载 单进程多线程并发服务器实现

相比前面的fork方式的多进程服务器,用线程方式更轻量级。最少用fork时,需要将内存映像,描述符等都要从父进程复制到子进程中,会占用大量的资源而多线程方式都在一个进程内,就无需占用这些资源,但同步也是个问题,而且一个线程挂了,可能会影响到进程中的其它线程。        多线程并发的原理就是 当accept 成功连接一个客户端后,把与这个客户端的交互丢到新线程去处理它。  服务端代码

2014-10-14 19:09:57 890

转载 boost::pool与内存池技术

Boost库的pool提供了一个内存池分配器,用于管理在一个独立的、大的分配空间里的动态内存分配。Boost库的pool主要适用于快速分配同样大小的内存块,尤其是反复分配和释放同样大小的内存块的情况。使用pool内存池主要有以下两个优点:  1. 能够有效地管理许多小型对象的分配和释放工作,避免了自己去管理内存而产生的内存碎片和效率低下问题。  2.  告别程序内存泄漏的烦恼,pool库会

2014-10-14 19:08:46 738

转载 MySQL C语言接口-预处理语句

对于多次执行的语句,预处理执行比直接执行快,主要原因在于,仅对查询执行一次解析操作。在直接执行的情况下,每次执行语句时,均将进行查询。此外,由于每次执行预处理语句时仅需发送参数的数据,从而减少了网络通信量 A:select  *  from tablenameB:select *   from tablename服务器一般处理方式:    A--->S--->A   B--->

2014-10-14 19:07:18 799

原创 MySQL事务应用实例

// 连接数据库    $conn = mysql_connect("localhost", "root", "123456");        // 选择数据库    mysql_select_db("test", $conn);        // 开始失误    mysql_query("start transaction");        // 添加主

2014-10-14 19:05:36 2976

转载 C++智能指针循环引用解决

循环引用示例#include "stdafx.h"#include #include #include #include using namespace std;using namespace boost;class CCycleRef{public:    ~CCycleRef()    {        cout   

2014-09-24 16:58:18 1312

转载 Tortoise SVN使用方法,简易图解(转)

刚到公司实习,为了版本控制,我公司使用SVN控制版本,在此记下SVN使用方法,仅供参考!        废话少说,上图!-------------------------------------------------------我是分割线--------------------------------------------------------------------

2014-09-24 14:28:55 814

转载 悬垂指针(Dangling pointer)和野指针(Wild pointer)

当所指向的对象被释放或者收回,但是对该指针没有作任何的修改,以至于该指针仍旧指向已经回收的内存地址,此情况下该指针便称悬垂指针(也叫迷途指针)。某些编程语言允许未初始化的指针的存在,而这类指针即为野指针。悬垂指针的成因:在许多编程语言中(比如C),显示地从内存中删除一个对象或者返回时通过销毁栈帧,并不会改变相关的指针的值。该指针仍旧指向内存中相同的位置,即使引用已经被删除,现在可能已经

2014-09-24 13:55:34 788

转载 explicit

C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。

2014-09-24 13:28:36 719

转载 深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。  在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面

2014-09-24 13:17:22 590

翻译 "undefined reference to" 问题解决方法

(.text+0x13): undefined reference to `func'     关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1.  链接时缺失了相关目标文件(.o)    测试代码如下:    然后编译。gcc -c test.c  gcc

2014-09-19 11:28:13 966

转载 boost中静态库编译没有-fPIC选项的问题解决方案

boost中静态库编译没有-fPIC选项的问题解决方案序章:问题    使用libboostpython.so动态链接是没有问题的,但是使用libboostpython.a静态链接,会产生如下错误:/usr/bin/ld: libboost_python.a(from_python.o): relocation R_X86_64_32 against`.rodata.str

2014-09-19 11:21:58 7849

原创 Linux下C++编程学习vi&vim编辑器的使用(1)

vi进入命令:

2014-09-18 16:37:07 1652

转载 安装PHP常见错误解决error: libjpeg.(a|so),error: libpng.(a|so) not found,error: Cannot find ldap

2010-06-09 23:24:32|  分类: Linux秘籍|举报|字号 订阅果PHP的安装虽然有时候很简单,可是如应用一多,我们安装起来就很头痛了!常见的就是PHP插件的安装问题最多了!       其实不管是你是Apache类的应用还是Nginx类的.PHP的安装都不是很简单,虽然网上很多configure,但是那不一定是适合你的,因为很多 都

2014-09-18 10:35:17 2954

原创 Linux下C语言编程

#include #include#include#includestring.h>#define MAX 10pthread_t thread[2];pthread_mutex_t mut;int number=0, i;void *thread1(){ printf ("thread1 : I'm thread 1\n");for (i =0; i

2014-09-12 11:25:21 729

转载 linux c++动态链接库so编写

Linux下的动态链接库是.so文件,即:Shared Object,下面是一个简单的例子说明如何写.so以及程序如何动态载入.so中的函数和对象。testso.h:#ifndef _TESTSO_H#define _TESTSO_Hextern "C" { int myadd(int a, int b); typedef int myadd_t(int, int);

2014-09-12 11:19:40 823

原创 gcc(g++)多文件编译

1.简单程序(单模块程序)的编译文件file1.c#include int main(){printf("hello\n");return 0;}文件file1.cpp#include using std::cout;using std::endl;int main(){coutreturn 0;}[xiaochen@fr

2014-09-12 11:19:09 1507

原创 Linux下C语言编程的-RPC远程调用编程

下面的例子程序的作用是客户端程序取中心服务器上时间的,编程过程如下:先编写一个 “ RPC 语言 ” ( RPC Language ( Remote Procedure Call Language ) ) 的源文件 test.x ,文件后缀名为 x 。源代码如下:program TESTPROG {   version VERSION {     string TE

2014-09-12 11:18:07 935

原创 CentOs安装Thrift

Thrift是Apache的一个开源的跨语言服务开发框架,它提供了一个代码生成引擎来构建服务,支持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,JavaScript,Node.js,Smalltalk,OCaml,Delphi等多种编程语言。一般来说,使用Thrift来开发应用程序,主要建立在两种场景下:第一,在我们开发

2014-09-12 11:16:26 2296

转载 thrift经常遇到的问题

thrift里自带的turoral,使用make编译时经常会报错,总结如下:1.如果出现如下错误:              error: ‘uint8_t’ does not name a type                error: ‘uint32_t’ does not name a type编译时需要加上:-DHAVE_NETINET_IN_H如果是在cdt

2014-09-12 11:13:47 2385

转载 Thrift简介及安装

【thrift是什么】thrift的全名叫做Apache thrift,是一款软件开发RPC框架,可以很高效地实现跨语言的RPC服务。如果你还不了解RPC是什么,赶快看看这里。如果想参观参观thrift的官方网站,请点击这里。【thrift生于何地】thrift最初生于Facebook,并茁壮成长,在2007年由Facebook正式开源出来,2008年由Apache软件基金会开

2014-09-12 11:08:40 844

转载 thrift编程案例

我用的是c++,所以我举一个c++的例子,简单说一下thrift的使用入门。例子描述是这样的:我们将学生信息(学号,姓名,性别,年龄)由客户端发送到服务端。实现这个例子,我们大致要做以下几部分事情:(1)书写.thrift文件(2)生成cpp文件(3)编写客户端(4)编译cpp文件并执行 (1)书写.thrift文件学生信息是有结构的,所以我们使用thrift的

2014-09-12 11:03:25 601

原创 cannot open shared object file: No such file or directory

总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边ln -s /where/you/install/lib/*.so /usr/libsudo ldconfig2.修改LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/where/you/install/lib:$

2014-09-12 10:59:46 730

原创 运行locate无法找到mlocate.db的解决方法

问题# locate rc.conflocate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

2014-09-12 10:57:26 1100

转载 为PHP开发C语言扩展

概述PHP调用动态库的鸡哥必要

2014-09-12 10:35:40 1708

原创 CentOs+ngnix访问PHP文件时常出现的问题

1、Access denied.

2014-08-28 16:39:40 691

转载 CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

准备篇1、配置防火墙,开启80端口、3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACC

2014-08-28 16:17:18 730

原创 No curses/termcap library found的解决办法

安装mysql出现以下问题:checking for termcap functions library... configure: error: No curses/termcap library found

2014-08-27 12:12:23 1227

原创 tar解压遇到的问题

今天在linux下 用tar -zxf xxx.tar.bz2然后就报这个错。gzip: stdin: not in gzip formattar: Child returned status 1tar: Error exit delayed from previous errors一开始我以为是压缩包坏的,去下其他的。下下来也是一样。然后仔细看了一下,原来这个压缩包没有用gz

2014-08-27 11:21:25 850

转载 LNMP(linux+nginx+mysql+php)服务器环境配置

一、简介  Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 “engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人  Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了。Igor  Sysoev在建立的项目时,使用基于BSD许

2014-08-27 10:02:26 748

原创 nginx常见的启动错误

错误一:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

2014-08-26 17:29:03 1032

转载 CentOs的网络环境配置

环境:  系统硬件:vmware vsphere (CPU:2*4核,内存2G)  系统版本:Centos-6.5-x86_64  路由器网关:192.168.1.1 步骤:    1.查看网络MAC地址  [root@centos ~]# cat /etc/udev/rules.d/70-persistent-net.rules  显示如下信息  # PC

2014-08-26 14:34:35 524

com组件开发案例

利用MFC来开发com组件的实例,来学习和理解组件的概念

2012-12-07

空空如也

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

TA关注的人

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