2013年12月21日 星期六 19:12
APR 作为一个完整的程序运行时库,在使用之前必须进行初始化,再使用结束后也必须进行清理结束的操作。
APR 提供了一套内存管理机制,所有APR内部的模块方法都使用了此机制,在应用程序中,也非常鼓励使用这套机制,此机制可以方便内存管理,减少内存泄露的发生机会,在一定程度上也可以提升内存分配和使用效率,减少内存碎片产生的几率。
下面是一个示例程序,演示了如何初始化和结束APR运行时库,如何使用内存池机制管理内存。
#include <apr.h> #include <apr_pools.h> #include <apr_strings.h> #include <stdio.h> int main(int argc,char **argv) { apr_initialize(); apr_pool_t *pool; apr_pool_create(&pool,NULL); char *str=apr_itoa(pool,1141100895); printf("%s\n",str); apr_pool_destroy(pool); apr_terminate(); return 0; }
配套的Makefile:
SOURCES = apr.c EXECUTABLE = apr CC = gcc CFLAGS = -c -Wall `pkg-config --cflags apr-1` LDFLAGS = `pkg-config --libs apr-1` OBJECTS = $(SOURCES:.c=.o) all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ .c.o: $(CC) $(CFLAGS) $< -o $@ clean: rm -f *.o $(EXECUTABLE)
参考文档:
http://apr.apache.org/docs/apr/1.3/group__apr__library.html
http://apr.apache.org/docs/apr/1.3/group__apr__pools.html
Zeuux © 2024
京ICP备05028076号