C51 实现动态内存分配
来源:互联网 发布:js 图层隐藏 编辑:程序博客网 时间:2024/06/05 12:48
前几天尝试了一下C51 keil4编译其中对 malloc的函数的调用,最后感觉可以读取 len 的长度来实现内存分配;
今天尝试写了一下;程序如下;
/********************************************************************************************************//* 静态数组长度 */#define OSAL_MEMORY_LEN 256 /* 静态数组最大长度 *//********************************************************************************************************//********************************************************************************************************//* 局部变量定义 *//* 系统随机分配一个数组,将数组的首地址和数组的长度N作为堆区的空间参数 */ static uint8 x_data membuf[OSAL_MEMORY_LEN]; /********************************************************************************************************//*********************************************************************************************************** **功能描述: 打印指针的地址及其所指向的内容 **入口参数: ** @*addr --- -要打印的地址起始位置 ** @len --- -要打印的地址的长度 **出口参数: 无 **-------------------------=------------------------------------ **函数注释: 无 ********************************************************************************************************** */ void uart_print_register(uint8 *addr, uint16 len) { uint8 tmp[16]; uint16 i; for (i=0; i<len; i++) { <span style="white-space:pre"></span>memset(tmp, 0, sizeof(tmp)); sprintf(tmp,"%p=0x%-4.2X ",addr,(uint16)*addr++); uart_print_string(UART1, tmp); if ((i+1)%8 == 0) { uart_print_enter(UART1); } } uart_print_enter(UART1); } /*************************************************************************************************************功能描述: 初始化 membuf 静态数组;并调用 init_mempool 函数来初始化动态内存**入口参数: 无**出口参数: 无**-------------------------=------------------------------------**函数注释: 无***********************************************************************************************************/static void memory_init_membuf(void){memset (membuf, 0, sizeof(membuf));init_mempool(membuf, sizeof(membuf)); /* 来初始化 membuf[] 数组;得到一个可以动态分配的堆 */}/*************************************************************************************************************功能描述: 获取动态内存堆中剩余可分配的字节数**入口参数: 无**出口参数: 无**-------------------------=------------------------------------**函数注释: 无***********************************************************************************************************/static uint16 memory_read_stacklen(void){uint16 lw_retlen = 0;if (455 >= OSAL_MEMORY_LEN){lw_retlen = ((uint16)membuf[2] << 8) | membuf[3];}else{lw_retlen = ((uint16)membuf[3] << 8) | membuf[4];}return lw_retlen;}/*************************************************************************************************************功能描述: 动态内存分配**入口参数: @*num_bytes --- -需要分配的字节数**出口参数: 未确定类型的指针**-------------------------=------------------------------------**函数注释: ** malloc 向系统申请分配指定size个字节的内存空间** 返回类型是 void* 类型; void* 表示未确定类型的指针** C,C++规定, void* 类型可以通过类型转换强制转换为任何其它类型的指针***********************************************************************************************************/void *osal_malloc(uint16 num_bytes){void *lp = NULL;if ( num_bytes <= memory_read_stacklen() ){lp = malloc(num_bytes);}return lp;}/*************************************************************************************************************功能描述: 动态分配完内存后,自动初始化该内存空间为零**入口参数: ** @*num_bytes --- -需要分配的字节数** @size --- -需要分配的变量字长**出口参数: 未确定类型的指针**-------------------------=------------------------------------**函数注释: ** calloc 内存的动态存储区中分配n个长度为size的连续空间** 返回类型是 void* 类型; void* 表示未确定类型的指针** C,C++规定, void* 类型可以通过类型转换强制转换为任何其它类型的指针***********************************************************************************************************/void *osal_calloc(uint16 num_bytes, unsigned int size){void *lp = NULL;if ( num_bytes <= memory_read_stacklen() ){lp = calloc(num_bytes,size);}return lp;}/*************************************************************************************************************功能描述: 释放 malloc 等函数申请的动态内存**入口参数: @*ptr --- -malloc 等函数申请的动态内存的指针**出口参数: 无**-------------------------=------------------------------------**函数注释: ** 使用后该指针变量一定要重新指向NULL,防止野指针出现,有效规避误操作** 对于free(p)这句语句,如果p是NULL指针, 那么free对p无论操作多少次都不会出问题** 如果p不是NULL指针,那么free对p连续操作两次就会导致程序运行错误***********************************************************************************************************/void osal_free(void *ptr){free(ptr);ptr = NULL;}/*************************************************************************************************************功能描述: 从 src 复制 len 个字节内存到 dst**入口参数: ** @*src --- -源地址** @*dst --- -目标地址** @len --- -拷贝的长度**出口参数: 返回目标指针**-------------------------=------------------------------------**函数注释: ** 使用后该指针变量一定要重新指向NULL,防止野指针出现,有效规避误操作** 对于free(p)这句语句,如果p是NULL指针, 那么free对p无论操作多少次都不会出问题** 如果p不是NULL指针,那么free对p连续操作两次就会导致程序运行错误***********************************************************************************************************/void *osal_memcpy(void *dst, const void *src, uint16 len){uint8 *lp_dst;const uint8 *lp_src;lp_src = src;lp_dst = dst;while (len--){*lp_dst++ = *lp_src++;}return (lp_dst);}
经过多次的尝试,最后确定了如下的参数,静态内存的范围 在 255 - 3072 时,函数满足要求读取出剩余可用的字节数;
一下是测试程序:
首先开辟 lp1len = 100; lp2len = 100; 如果再开辟 lp3len = 100的话;返回NULL
void memory_testrun(void){uint16 i = 0;uint8 *lp1,*lp2,*lp3,*lp4,*lp5;uart_print_register(membuf, sizeof(membuf));uart_print_format(UART1, "stacklen is ", "%.0f", (fp32)memory_read_stacklen());lp1 = osal_malloc(100);lp4 = lp1;if (NULL != lp1){for(i=0; i<99; i++){*lp1++ = i%10 + '0';}*lp1 = 0;uart_print_debug_twostring(UART1, "lp1 :", lp4);uart_print_debug_string(UART1, "lp1 is ok");}else{uart_print_debug_string(UART1, "lp1 is error");}lp2 = osal_malloc(100);lp5 = lp2;if (NULL != lp2){for(i=0; i<99; i++){*lp2++ = i%10 + 'a';}*lp2 = 0;uart_print_debug_twostring(UART1, "lp2 :", lp5);uart_print_debug_string(UART1, "lp2 is ok");//osal_free(lp5);}else{uart_print_debug_string(UART1, "lp2 is error");}lp3 = osal_calloc(100, sizeof(uint8));if (NULL != lp3){uart_print_debug_string(UART1, "lp3 is ok");}else{uart_print_debug_string(UART1, "lp3 is error");}uart_print_register(membuf, sizeof(membuf));uart_print_format(UART1, "stacklen is ", "%.0f", (fp32)memory_read_stacklen());}输出如下;我们卡伊看到 lp3失败;
x:01c8=0x00 x:01c9=0x00 x:01ca=0x00 x:01cb=0xFC x:01cc=0x00 x:01cd=0x00 x:01ce=0x00 x:01cf=0x00 x:01d0=0x00 x:01d1=0x00 x:01d2=0x00 x:01d3=0x00 x:01d4=0x00 x:01d5=0x00 x:01d6=0x00 x:01d7=0x00 x:01d8=0x00 x:01d9=0x00 x:01da=0x00 x:01db=0x00 x:01dc=0x00 x:01dd=0x00 x:01de=0x00 x:01df=0x00 x:01e0=0x00 x:01e1=0x00 x:01e2=0x00 x:01e3=0x00 x:01e4=0x00 x:01e5=0x00 x:01e6=0x00 x:01e7=0x00 x:01e8=0x00 x:01e9=0x00 x:01ea=0x00 x:01eb=0x00 x:01ec=0x00 x:01ed=0x00 x:01ee=0x00 x:01ef=0x00 x:01f0=0x00 x:01f1=0x00 x:01f2=0x00 x:01f3=0x00 x:01f4=0x00 x:01f5=0x00 x:01f6=0x00 x:01f7=0x00 x:01f8=0x00 x:01f9=0x00 x:01fa=0x00 x:01fb=0x00 x:01fc=0x00 x:01fd=0x00 x:01fe=0x00 x:01ff=0x00 x:0200=0x00 x:0201=0x00 x:0202=0x00 x:0203=0x00 x:0204=0x00 x:0205=0x00 x:0206=0x00 x:0207=0x00 x:0208=0x00 x:0209=0x00 x:020a=0x00 x:020b=0x00 x:020c=0x00 x:020d=0x00 x:020e=0x00 x:020f=0x00 x:0210=0x00 x:0211=0x00 x:0212=0x00 x:0213=0x00 x:0214=0x00 x:0215=0x00 x:0216=0x00 x:0217=0x00 x:0218=0x00 x:0219=0x00 x:021a=0x00 x:021b=0x00 x:021c=0x00 x:021d=0x00 x:021e=0x00 x:021f=0x00 x:0220=0x00 x:0221=0x00 x:0222=0x00 x:0223=0x00 x:0224=0x00 x:0225=0x00 x:0226=0x00 x:0227=0x00 x:0228=0x00 x:0229=0x00 x:022a=0x00 x:022b=0x00 x:022c=0x00 x:022d=0x00 x:022e=0x00 x:022f=0x00 x:0230=0x00 x:0231=0x00 x:0232=0x00 x:0233=0x00 x:0234=0x00 x:0235=0x00 x:0236=0x00 x:0237=0x00 x:0238=0x00 x:0239=0x00 x:023a=0x00 x:023b=0x00 x:023c=0x00 x:023d=0x00 x:023e=0x00 x:023f=0x00 x:0240=0x00 x:0241=0x00 x:0242=0x00 x:0243=0x00 x:0244=0x00 x:0245=0x00 x:0246=0x00 x:0247=0x00 x:0248=0x00 x:0249=0x00 x:024a=0x00 x:024b=0x00 x:024c=0x00 x:024d=0x00 x:024e=0x00 x:024f=0x00 x:0250=0x00 x:0251=0x00 x:0252=0x00 x:0253=0x00 x:0254=0x00 x:0255=0x00 x:0256=0x00 x:0257=0x00 x:0258=0x00 x:0259=0x00 x:025a=0x00 x:025b=0x00 x:025c=0x00 x:025d=0x00 x:025e=0x00 x:025f=0x00 x:0260=0x00 x:0261=0x00 x:0262=0x00 x:0263=0x00 x:0264=0x00 x:0265=0x00 x:0266=0x00 x:0267=0x00 x:0268=0x00 x:0269=0x00 x:026a=0x00 x:026b=0x00 x:026c=0x00 x:026d=0x00 x:026e=0x00 x:026f=0x00 x:0270=0x00 x:0271=0x00 x:0272=0x00 x:0273=0x00 x:0274=0x00 x:0275=0x00 x:0276=0x00 x:0277=0x00 x:0278=0x00 x:0279=0x00 x:027a=0x00 x:027b=0x00 x:027c=0x00 x:027d=0x00 x:027e=0x00 x:027f=0x00 x:0280=0x00 x:0281=0x00 x:0282=0x00 x:0283=0x00 x:0284=0x00 x:0285=0x00 x:0286=0x00 x:0287=0x00 x:0288=0x00 x:0289=0x00 x:028a=0x00 x:028b=0x00 x:028c=0x00 x:028d=0x00 x:028e=0x00 x:028f=0x00 x:0290=0x00 x:0291=0x00 x:0292=0x00 x:0293=0x00 x:0294=0x00 x:0295=0x00 x:0296=0x00 x:0297=0x00 x:0298=0x00 x:0299=0x00 x:029a=0x00 x:029b=0x00 x:029c=0x00 x:029d=0x00 x:029e=0x00 x:029f=0x00 x:02a0=0x00 x:02a1=0x00 x:02a2=0x00 x:02a3=0x00 x:02a4=0x00 x:02a5=0x00 x:02a6=0x00 x:02a7=0x00 x:02a8=0x00 x:02a9=0x00 x:02aa=0x00 x:02ab=0x00 x:02ac=0x00 x:02ad=0x00 x:02ae=0x00 x:02af=0x00 x:02b0=0x00 x:02b1=0x00 x:02b2=0x00 x:02b3=0x00 x:02b4=0x00 x:02b5=0x00 x:02b6=0x00 x:02b7=0x00 x:02b8=0x00 x:02b9=0x00 x:02ba=0x00 x:02bb=0x00 x:02bc=0x00 x:02bd=0x00 x:02be=0x00 x:02bf=0x00 x:02c0=0x00 x:02c1=0x00 x:02c2=0x00 x:02c3=0x00 x:02c4=0x00 x:02c5=0x00 x:02c6=0x00 x:02c7=0x00 stacklen is 252lp1 :012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678lp1 is oklp2 :abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghilp2 is oklp3 is errorx:01c8=0x00 x:01c9=0x00 x:01ca=0x00 x:01cb=0x2C x:01cc=0x00 x:01cd=0x00 x:01ce=0x00 x:01cf=0x00 x:01d0=0x00 x:01d1=0x00 x:01d2=0x00 x:01d3=0x00 x:01d4=0x00 x:01d5=0x00 x:01d6=0x00 x:01d7=0x00 x:01d8=0x00 x:01d9=0x00 x:01da=0x00 x:01db=0x00 x:01dc=0x00 x:01dd=0x00 x:01de=0x00 x:01df=0x00 x:01e0=0x00 x:01e1=0x00 x:01e2=0x00 x:01e3=0x00 x:01e4=0x00 x:01e5=0x00 x:01e6=0x00 x:01e7=0x00 x:01e8=0x00 x:01e9=0x00 x:01ea=0x00 x:01eb=0x00 x:01ec=0x00 x:01ed=0x00 x:01ee=0x00 x:01ef=0x00 x:01f0=0x00 x:01f1=0x00 x:01f2=0x00 x:01f3=0x00 x:01f4=0x00 x:01f5=0x00 x:01f6=0x00 x:01f7=0x00 x:01f8=0x00 x:01f9=0x00 x:01fa=0x00 x:01fb=0x64 x:01fc=0x61 x:01fd=0x62 x:01fe=0x63 x:01ff=0x64 x:0200=0x65 x:0201=0x66 x:0202=0x67 x:0203=0x68 x:0204=0x69 x:0205=0x6A x:0206=0x61 x:0207=0x62 x:0208=0x63 x:0209=0x64 x:020a=0x65 x:020b=0x66 x:020c=0x67 x:020d=0x68 x:020e=0x69 x:020f=0x6A x:0210=0x61 x:0211=0x62 x:0212=0x63 x:0213=0x64 x:0214=0x65 x:0215=0x66 x:0216=0x67 x:0217=0x68 x:0218=0x69 x:0219=0x6A x:021a=0x61 x:021b=0x62 x:021c=0x63 x:021d=0x64 x:021e=0x65 x:021f=0x66 x:0220=0x67 x:0221=0x68 x:0222=0x69 x:0223=0x6A x:0224=0x61 x:0225=0x62 x:0226=0x63 x:0227=0x64 x:0228=0x65 x:0229=0x66 x:022a=0x67 x:022b=0x68 x:022c=0x69 x:022d=0x6A x:022e=0x61 x:022f=0x62 x:0230=0x63 x:0231=0x64 x:0232=0x65 x:0233=0x66 x:0234=0x67 x:0235=0x68 x:0236=0x69 x:0237=0x6A x:0238=0x61 x:0239=0x62 x:023a=0x63 x:023b=0x64 x:023c=0x65 x:023d=0x66 x:023e=0x67 x:023f=0x68 x:0240=0x69 x:0241=0x6A x:0242=0x61 x:0243=0x62 x:0244=0x63 x:0245=0x64 x:0246=0x65 x:0247=0x66 x:0248=0x67 x:0249=0x68 x:024a=0x69 x:024b=0x6A x:024c=0x61 x:024d=0x62 x:024e=0x63 x:024f=0x64 x:0250=0x65 x:0251=0x66 x:0252=0x67 x:0253=0x68 x:0254=0x69 x:0255=0x6A x:0256=0x61 x:0257=0x62 x:0258=0x63 x:0259=0x64 x:025a=0x65 x:025b=0x66 x:025c=0x67 x:025d=0x68 x:025e=0x69 x:025f=0x00 x:0260=0x00 x:0261=0x00 x:0262=0x00 x:0263=0x64 x:0264=0x30 x:0265=0x31 x:0266=0x32 x:0267=0x33 x:0268=0x34 x:0269=0x35 x:026a=0x36 x:026b=0x37 x:026c=0x38 x:026d=0x39 x:026e=0x30 x:026f=0x31 x:0270=0x32 x:0271=0x33 x:0272=0x34 x:0273=0x35 x:0274=0x36 x:0275=0x37 x:0276=0x38 x:0277=0x39 x:0278=0x30 x:0279=0x31 x:027a=0x32 x:027b=0x33 x:027c=0x34 x:027d=0x35 x:027e=0x36 x:027f=0x37 x:0280=0x38 x:0281=0x39 x:0282=0x30 x:0283=0x31 x:0284=0x32 x:0285=0x33 x:0286=0x34 x:0287=0x35 x:0288=0x36 x:0289=0x37 x:028a=0x38 x:028b=0x39 x:028c=0x30 x:028d=0x31 x:028e=0x32 x:028f=0x33 x:0290=0x34 x:0291=0x35 x:0292=0x36 x:0293=0x37 x:0294=0x38 x:0295=0x39 x:0296=0x30 x:0297=0x31 x:0298=0x32 x:0299=0x33 x:029a=0x34 x:029b=0x35 x:029c=0x36 x:029d=0x37 x:029e=0x38 x:029f=0x39 x:02a0=0x30 x:02a1=0x31 x:02a2=0x32 x:02a3=0x33 x:02a4=0x34 x:02a5=0x35 x:02a6=0x36 x:02a7=0x37 x:02a8=0x38 x:02a9=0x39 x:02aa=0x30 x:02ab=0x31 x:02ac=0x32 x:02ad=0x33 x:02ae=0x34 x:02af=0x35 x:02b0=0x36 x:02b1=0x37 x:02b2=0x38 x:02b3=0x39 x:02b4=0x30 x:02b5=0x31 x:02b6=0x32 x:02b7=0x33 x:02b8=0x34 x:02b9=0x35 x:02ba=0x36 x:02bb=0x37 x:02bc=0x38 x:02bd=0x39 x:02be=0x30 x:02bf=0x31 x:02c0=0x32 x:02c1=0x33 x:02c2=0x34 x:02c3=0x35 x:02c4=0x36 x:02c5=0x37 x:02c6=0x38 x:02c7=0x00 stacklen is 44首先开辟 lp1len = 100; lp2len = 100;释放lp2; 如果再开辟 lp3len = 100的话;那么应该可以成功;把上面的函数这个 osal_free(lp5)加入函数中;
输出结果如下
x:01c8=0x00 x:01c9=0x00 x:01ca=0x00 x:01cb=0xFC x:01cc=0x00 x:01cd=0x00 x:01ce=0x00 x:01cf=0x00 x:01d0=0x00 x:01d1=0x00 x:01d2=0x00 x:01d3=0x00 x:01d4=0x00 x:01d5=0x00 x:01d6=0x00 x:01d7=0x00 x:01d8=0x00 x:01d9=0x00 x:01da=0x00 x:01db=0x00 x:01dc=0x00 x:01dd=0x00 x:01de=0x00 x:01df=0x00 x:01e0=0x00 x:01e1=0x00 x:01e2=0x00 x:01e3=0x00 x:01e4=0x00 x:01e5=0x00 x:01e6=0x00 x:01e7=0x00 x:01e8=0x00 x:01e9=0x00 x:01ea=0x00 x:01eb=0x00 x:01ec=0x00 x:01ed=0x00 x:01ee=0x00 x:01ef=0x00 x:01f0=0x00 x:01f1=0x00 x:01f2=0x00 x:01f3=0x00 x:01f4=0x00 x:01f5=0x00 x:01f6=0x00 x:01f7=0x00 x:01f8=0x00 x:01f9=0x00 x:01fa=0x00 x:01fb=0x00 x:01fc=0x00 x:01fd=0x00 x:01fe=0x00 x:01ff=0x00 x:0200=0x00 x:0201=0x00 x:0202=0x00 x:0203=0x00 x:0204=0x00 x:0205=0x00 x:0206=0x00 x:0207=0x00 x:0208=0x00 x:0209=0x00 x:020a=0x00 x:020b=0x00 x:020c=0x00 x:020d=0x00 x:020e=0x00 x:020f=0x00 x:0210=0x00 x:0211=0x00 x:0212=0x00 x:0213=0x00 x:0214=0x00 x:0215=0x00 x:0216=0x00 x:0217=0x00 x:0218=0x00 x:0219=0x00 x:021a=0x00 x:021b=0x00 x:021c=0x00 x:021d=0x00 x:021e=0x00 x:021f=0x00 x:0220=0x00 x:0221=0x00 x:0222=0x00 x:0223=0x00 x:0224=0x00 x:0225=0x00 x:0226=0x00 x:0227=0x00 x:0228=0x00 x:0229=0x00 x:022a=0x00 x:022b=0x00 x:022c=0x00 x:022d=0x00 x:022e=0x00 x:022f=0x00 x:0230=0x00 x:0231=0x00 x:0232=0x00 x:0233=0x00 x:0234=0x00 x:0235=0x00 x:0236=0x00 x:0237=0x00 x:0238=0x00 x:0239=0x00 x:023a=0x00 x:023b=0x00 x:023c=0x00 x:023d=0x00 x:023e=0x00 x:023f=0x00 x:0240=0x00 x:0241=0x00 x:0242=0x00 x:0243=0x00 x:0244=0x00 x:0245=0x00 x:0246=0x00 x:0247=0x00 x:0248=0x00 x:0249=0x00 x:024a=0x00 x:024b=0x00 x:024c=0x00 x:024d=0x00 x:024e=0x00 x:024f=0x00 x:0250=0x00 x:0251=0x00 x:0252=0x00 x:0253=0x00 x:0254=0x00 x:0255=0x00 x:0256=0x00 x:0257=0x00 x:0258=0x00 x:0259=0x00 x:025a=0x00 x:025b=0x00 x:025c=0x00 x:025d=0x00 x:025e=0x00 x:025f=0x00 x:0260=0x00 x:0261=0x00 x:0262=0x00 x:0263=0x00 x:0264=0x00 x:0265=0x00 x:0266=0x00 x:0267=0x00 x:0268=0x00 x:0269=0x00 x:026a=0x00 x:026b=0x00 x:026c=0x00 x:026d=0x00 x:026e=0x00 x:026f=0x00 x:0270=0x00 x:0271=0x00 x:0272=0x00 x:0273=0x00 x:0274=0x00 x:0275=0x00 x:0276=0x00 x:0277=0x00 x:0278=0x00 x:0279=0x00 x:027a=0x00 x:027b=0x00 x:027c=0x00 x:027d=0x00 x:027e=0x00 x:027f=0x00 x:0280=0x00 x:0281=0x00 x:0282=0x00 x:0283=0x00 x:0284=0x00 x:0285=0x00 x:0286=0x00 x:0287=0x00 x:0288=0x00 x:0289=0x00 x:028a=0x00 x:028b=0x00 x:028c=0x00 x:028d=0x00 x:028e=0x00 x:028f=0x00 x:0290=0x00 x:0291=0x00 x:0292=0x00 x:0293=0x00 x:0294=0x00 x:0295=0x00 x:0296=0x00 x:0297=0x00 x:0298=0x00 x:0299=0x00 x:029a=0x00 x:029b=0x00 x:029c=0x00 x:029d=0x00 x:029e=0x00 x:029f=0x00 x:02a0=0x00 x:02a1=0x00 x:02a2=0x00 x:02a3=0x00 x:02a4=0x00 x:02a5=0x00 x:02a6=0x00 x:02a7=0x00 x:02a8=0x00 x:02a9=0x00 x:02aa=0x00 x:02ab=0x00 x:02ac=0x00 x:02ad=0x00 x:02ae=0x00 x:02af=0x00 x:02b0=0x00 x:02b1=0x00 x:02b2=0x00 x:02b3=0x00 x:02b4=0x00 x:02b5=0x00 x:02b6=0x00 x:02b7=0x00 x:02b8=0x00 x:02b9=0x00 x:02ba=0x00 x:02bb=0x00 x:02bc=0x00 x:02bd=0x00 x:02be=0x00 x:02bf=0x00 x:02c0=0x00 x:02c1=0x00 x:02c2=0x00 x:02c3=0x00 x:02c4=0x00 x:02c5=0x00 x:02c6=0x00 x:02c7=0x00 stacklen is 252lp1 :012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678lp1 is oklp2 :abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghilp2 is oklp3 is okx:01c8=0x00 x:01c9=0x00 x:01ca=0x00 x:01cb=0x2C x:01cc=0x00 x:01cd=0x00 x:01ce=0x00 x:01cf=0x00 x:01d0=0x00 x:01d1=0x00 x:01d2=0x00 x:01d3=0x00 x:01d4=0x00 x:01d5=0x00 x:01d6=0x00 x:01d7=0x00 x:01d8=0x00 x:01d9=0x00 x:01da=0x00 x:01db=0x00 x:01dc=0x00 x:01dd=0x00 x:01de=0x00 x:01df=0x00 x:01e0=0x00 x:01e1=0x00 x:01e2=0x00 x:01e3=0x00 x:01e4=0x00 x:01e5=0x00 x:01e6=0x00 x:01e7=0x00 x:01e8=0x00 x:01e9=0x00 x:01ea=0x00 x:01eb=0x00 x:01ec=0x00 x:01ed=0x00 x:01ee=0x00 x:01ef=0x00 x:01f0=0x00 x:01f1=0x00 x:01f2=0x00 x:01f3=0x00 x:01f4=0x00 x:01f5=0x00 x:01f6=0x00 x:01f7=0x00 x:01f8=0x00 x:01f9=0x00 x:01fa=0x00 x:01fb=0x64 x:01fc=0x00 x:01fd=0x00 x:01fe=0x00 x:01ff=0x00 x:0200=0x00 x:0201=0x00 x:0202=0x00 x:0203=0x00 x:0204=0x00 x:0205=0x00 x:0206=0x00 x:0207=0x00 x:0208=0x00 x:0209=0x00 x:020a=0x00 x:020b=0x00 x:020c=0x00 x:020d=0x00 x:020e=0x00 x:020f=0x00 x:0210=0x00 x:0211=0x00 x:0212=0x00 x:0213=0x00 x:0214=0x00 x:0215=0x00 x:0216=0x00 x:0217=0x00 x:0218=0x00 x:0219=0x00 x:021a=0x00 x:021b=0x00 x:021c=0x00 x:021d=0x00 x:021e=0x00 x:021f=0x00 x:0220=0x00 x:0221=0x00 x:0222=0x00 x:0223=0x00 x:0224=0x00 x:0225=0x00 x:0226=0x00 x:0227=0x00 x:0228=0x00 x:0229=0x00 x:022a=0x00 x:022b=0x00 x:022c=0x00 x:022d=0x00 x:022e=0x00 x:022f=0x00 x:0230=0x00 x:0231=0x00 x:0232=0x00 x:0233=0x00 x:0234=0x00 x:0235=0x00 x:0236=0x00 x:0237=0x00 x:0238=0x00 x:0239=0x00 x:023a=0x00 x:023b=0x00 x:023c=0x00 x:023d=0x00 x:023e=0x00 x:023f=0x00 x:0240=0x00 x:0241=0x00 x:0242=0x00 x:0243=0x00 x:0244=0x00 x:0245=0x00 x:0246=0x00 x:0247=0x00 x:0248=0x00 x:0249=0x00 x:024a=0x00 x:024b=0x00 x:024c=0x00 x:024d=0x00 x:024e=0x00 x:024f=0x00 x:0250=0x00 x:0251=0x00 x:0252=0x00 x:0253=0x00 x:0254=0x00 x:0255=0x00 x:0256=0x00 x:0257=0x00 x:0258=0x00 x:0259=0x00 x:025a=0x00 x:025b=0x00 x:025c=0x00 x:025d=0x00 x:025e=0x00 x:025f=0x00 x:0260=0x00 x:0261=0x00 x:0262=0x00 x:0263=0x64 x:0264=0x30 x:0265=0x31 x:0266=0x32 x:0267=0x33 x:0268=0x34 x:0269=0x35 x:026a=0x36 x:026b=0x37 x:026c=0x38 x:026d=0x39 x:026e=0x30 x:026f=0x31 x:0270=0x32 x:0271=0x33 x:0272=0x34 x:0273=0x35 x:0274=0x36 x:0275=0x37 x:0276=0x38 x:0277=0x39 x:0278=0x30 x:0279=0x31 x:027a=0x32 x:027b=0x33 x:027c=0x34 x:027d=0x35 x:027e=0x36 x:027f=0x37 x:0280=0x38 x:0281=0x39 x:0282=0x30 x:0283=0x31 x:0284=0x32 x:0285=0x33 x:0286=0x34 x:0287=0x35 x:0288=0x36 x:0289=0x37 x:028a=0x38 x:028b=0x39 x:028c=0x30 x:028d=0x31 x:028e=0x32 x:028f=0x33 x:0290=0x34 x:0291=0x35 x:0292=0x36 x:0293=0x37 x:0294=0x38 x:0295=0x39 x:0296=0x30 x:0297=0x31 x:0298=0x32 x:0299=0x33 x:029a=0x34 x:029b=0x35 x:029c=0x36 x:029d=0x37 x:029e=0x38 x:029f=0x39 x:02a0=0x30 x:02a1=0x31 x:02a2=0x32 x:02a3=0x33 x:02a4=0x34 x:02a5=0x35 x:02a6=0x36 x:02a7=0x37 x:02a8=0x38 x:02a9=0x39 x:02aa=0x30 x:02ab=0x31 x:02ac=0x32 x:02ad=0x33 x:02ae=0x34 x:02af=0x35 x:02b0=0x36 x:02b1=0x37 x:02b2=0x38 x:02b3=0x39 x:02b4=0x30 x:02b5=0x31 x:02b6=0x32 x:02b7=0x33 x:02b8=0x34 x:02b9=0x35 x:02ba=0x36 x:02bb=0x37 x:02bc=0x38 x:02bd=0x39 x:02be=0x30 x:02bf=0x31 x:02c0=0x32 x:02c1=0x33 x:02c2=0x34 x:02c3=0x35 x:02c4=0x36 x:02c5=0x37 x:02c6=0x38 x:02c7=0x00 stacklen is 44上面的函数只是简单的实现了内存的分配,是否能应用在真正的项目中还未可知;
0 0
- C51 实现动态内存分配
- C51 中 init_mempool 及动态内存分配的问题
- 动态内存分配简单实现
- STM32实现动态内存分配
- 实现动态内存分配的通讯录
- 使用动态内存分配的通讯录实现
- 动态内存分配
- 关于动态内存分配
- 关于动态内存分配
- 动态内存分配
- 动态内存分配
- 动态内存分配
- 动态内存分配
- 动态内存分配
- C++ 动态内存分配
- VC动态内存分配
- 动态数组分配内存
- C++动态内存分配
- 《Java™ Programming Language, Fourth Edition》读书笔记-1.1
- UVa 12558 Egyptian Fractions (HARD version)--迭代加深搜索
- HP ilo使用
- 放在res/anim中的文件(持续更新)
- Perform巡回演出
- C51 实现动态内存分配
- 线程
- 怎么删除github上的仓库
- 在res/raw中的文件
- 安卓四大组件之 Activity
- 异常
- 在res/menu中的文件
- MySQL 表别名(Alias)
- HPUX之Kernel参数管理