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 © 2025
京ICP备05028076号