perl内嵌c代码示例-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 93083
  • 博文数量: 25
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 316
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-02 00:39
文章分类

(25)

  • (0)
  • (2)
  • (0)
  • (2)
  • (0)
  • (0)
  • (0)
  • (3)
  • (3)
  • (7)
  • (8)
  • (0)
文章存档

(25)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: perl

2013-04-22 16:35:37

perl嵌入c语言原理为使用c外部过程,使用xs语言来扩展和编译模块,然后调用,步骤如下

#h2xs -a -n myperl  /* 创建一个名叫myperl的工程 */

编辑其中的myperl.xs 如

#include "extern.h"
#include "perl.h"
#include "xsub.h"

#include "ppport.h"

module = myperl        package = myperl       

void
is_connect()
    code:
        if(mysql_connect()==0)
        {
            printf("connect ok\n");
        }
       
        else
        {
            printf("connect failed\n");
        }


#perl makefile.pl    /* 需要调用c共享库的,在libs中指定,本例指定为-lmysql,后续需要编译libmysql.so并放在正确位置 */
#make
#make install

然后perl就可以调用myperl模块,如

#!/usr/bin/perl -w

use extutils::testlib;
use myperl;
myperl::is_connect();


编辑libmysql.c

#include
#include

int mysql_connect()
{
    mysql mysql;

    mysql_init(&mysql);
    if(mysql_real_connect(&mysql,"localhost","test","test","test",0,null,0))
        return 0;
    return 1;
}

#cc -o libmysql.so -shared -fpic libmysql.c -lmysqlclient

cp到/usr/lib下然后ldconfig即可
阅读(891) | 评论(0) | 转发(0) |
0

上一篇:

下一篇:

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图