0

3286

c语言的那些坑---函数返回局部变量

乐果   发表于   2015 年 05 月 15 日

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。

因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。

但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。

1、准确的来说,函数不能通过返回指向栈内存的指针(注意这里指的是栈,返回指向堆内存的指针是可以的):

#include <stdio.h> 
char *returnStr() 
{ 
    char *p="hello world!"; 
    return p; 
} 
int main() 
{ 
    char *str; 
    str=returnStr(); 
    printf("%s\n", str); 
    return 0; 
}

……

标签:c 继续阅读

0

4528

初试swig编写php扩展

乐果   发表于   2015 年 05 月 13 日

先写一段C代码:

#include <stdio.h>
#include <string.h>

char *hello(char *s)
{
    int num = strlen(s);
    //printf("string len is %i",num);
    char ns[num];
    int i;
    for(i=0; i<num; i++)
    {
        ns[(num-1)-i] = s[i];
    }
    char *result = ns;
    return result;
}

代码意思很简单喔,就是一个hello函数,该函数的作用是接收一个字符串参数,把字符串进行反转,然后返回。

现在,针对这个c函数,把它加入php的扩展(动态库方式),步骤如下:

1、将c的源文件编译成目标文件

cc -fpic -c hello.c

2、编写swig翻译文件hello.i ……

标签:swigPHP 继续阅读

0

2720

c语言的那些坑---数组

乐果   发表于   2015 年 05 月 12 日

1、arr[0]与0[arr]等价。

2、int *choise = contestants;int *choise = &contestants[0];等价。

#include <stdio.h>

int main(){

    int  contestants[] = {1,2,3};
    int *choise = contestants;
    contestants[0]  = 4;
    contestants[1] = contestants[2];
    contes......

标签:c 继续阅读

0

3373

memcached编译安装

乐果   发表于   2015 年 04 月 18 日

然后下载 libevent 然后上传centos,进行给予权限,然后解压

tar xzvf libevent-2.0.21-stable.tar.gz ##解压 
cd libevent-2.0.21-stable 
./configure --prefix=/usr 
make 
make install 

安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)

然后下载 memcached

tar xzvf memcached-1.4.15.tar.gz 
cd memcached-1.4.15 
./configure --with-libevent=/usr 
make 
make install 

关于memcache启动的一些参数说明:

memcached命令参数解释: 
-p <num>          监听的端口 
-l <ip_addr>      连接的IP地址, 默认是本机 
......

标签:memcached 继续阅读

0

2138

使用openssl制作证书

乐果   发表于   2015 年 04 月 18 日

1、服务器单向验证 创建并进入sslkey存放目录

mkdir /opt/nginx/sslkey
cd /opt/nginx/sslkey

①、生成RSA密钥:

openssl genrsa -out key.pem 2048

②、生成一个证书请求

openssl req -new -key key.pem -out cert.csr
......

标签:nginx 继续阅读

较旧的笔记 较新的笔记