⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 malloc16.c

📁 gnuradio软件无线电源程序.现在的手机多基于软件无线电
💻 C
字号:
/* Wrapper functions for malloc/free that force 16-byte alignment * See http://perso.club-internet.fr/matmac/sourcesc.htm * Copyright 2001 Phil Karn, KA9Q * May be used under the terms of the GNU Public License (GPL) */#include "malloc16.h"#include <string.h>void *malloc16Align(int size){  void *p;  void **p1;  if((p = malloc(size+31)) == NULL)    return NULL;  /* Round up to next 16-byte boundary */  p1 = (void **)(((int)p + 31) & (~15));  /* Stash actual start of block just before ptr we return */  p1[-1] = p;  /* Return 16-byte aligned address */  return (void *)p1;}void *calloc16Align(size_t nmemb,size_t size){  int nbytes;  void *p;  nbytes = nmemb*size;  if((p = malloc16Align(nbytes)) == NULL)    return NULL;  memset(p,0,nbytes);  return p;}void free16Align(void *p){  if(p != NULL){    /* Retrieve pointer to actual start of block and free it */    free(((void **)p)[-1]);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -