亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memcluster.mdoc

?? package of develop dns
?? MDOC
字號:
.\" $Id: memcluster.mdoc,v 1.1.2.1.10.1 2004/03/09 08:33:43 marka Exp $.\".\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC").\" Copyright (c) 1995-1999 by Internet Software Consortium.\".\" Permission to use, copy, modify, and distribute this software for any.\" purpose with or without fee is hereby granted, provided that the above.\" copyright notice and this permission notice appear in all copies..\".\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF.\" MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE..\".\" The following six UNCOMMENTED lines are required..Dd Month day, year.\"Os OPERATING_SYSTEM [version/release].Os BSD 4.\"Dt DOCUMENT_TITLE [section number] [volume].Dt MEMCLUSTER 3.Sh NAME.Nm meminit ,.Nm memget ,.Nm memput ,.Nm memstats .Nd memory allocation/deallocation system.Sh SYNOPSIS.Fd #include \&<isc/memcluster.h\&>.Ft void * .Fn memget "size_t size".Ft void .Fn memput "void *mem" "size_t size".Ft void .Fn memstats "FILE *out".Sh DESCRIPTIONThese functions access a memory management system which allows callers to not fragment memory to the extent which can ordinarily occur through many random calls to.Xr malloc 3 .Instead, .Fn memgetgets a large contiguous chunk of blocks of the requested .Fa size and parcels out these blocks as requested.  The symmetric call is.Fn memput ,which callers use to return a piece of memory obtained from.Fn memget .Statistics about memory usage are returned by.Fn memstats , which prints a report on the stream.Fa out ..Ss INTERNALSInternally, linked lists of free memory blocks are stored in an array.The size of this array is determined by the value.Dv MEM_FREECOUNT ,currently set to 1100.  In general, for any requested blocksize.Dq Fa size ,any free blocks will be stored on the linked list at that index.No free lists are managed for blocks greater than or equal to.Dv MEM_FREECOUNTbytes; instead, calls to.Xr malloc 3or.Xr free 3are made, directly..PpSince the blocks are actually stored as linked lists, they must at leastbe large enough to hold a pointer to the next block.  This size, which is.Dv SMALL_SIZE_LIMIT ,is currently defined as.Bd -literal -offset indent#define SMALL_SIZE_LIMIT sizeof(struct { void *next; }).Ed.PpBoth .Fn memgetand.Fn memputenforce this limit; for example, any call to .Fn memget requesting a block smaller than.Dv SMALL_SIZE_LIMITbytes will actually be considered to be of size.Dv SMALL_SIZE_LIMIT internally.  (Such a caller request will be logged for .Fn memstatspurposes using the caller-requested.Fa size ;see the discussion of.Fn memstats ,below, for more information.).PpAdditionally, the requested.Fa sizewill be adjusted so that when a large .Xr malloc 3 Ns No -dchunk of memory is broken up into a linked list, the blocks will all fall onthe correct memory alignment boundaries.  Thus, one can conceptualize a callwhich mentions.Fa sizeas resulting in a.Fa new_sizewhich is used internally..PpIn order to more efficiently allocate memory, there is a .Dq targetsize for calls to .Xr malloc 3 .It is given by the pre-defined value.Dv MEM_TARGET , which is currently 4096 bytes.For any requested block.Fa size ,enough memory is .Xr malloc 3 Ns No -din order to fill up a block of about.Dv MEM_TARGETbytes.  .No [ Ns Sy NOTE :For allocations larger than.Dv MEM_TARGET Ns No /2bytes, there is a .Dq fudge factorintroduced which boosts the target size by 25% of.Dv MEM_TARGET .This means that enough memory for two blockswill actually be allocated for any .Fa sizesuch that.Pq Dv MEM_TARGET Ns No / 3 .No < Fa size No < .Pq Dv MEM_TARGET Ns No *5/8 ,provided that the value of.Dv MEM_FREECOUNT is at least as large as the upper limit shown above.].Pp.Ss FUNCTION DESCRIPTIONS.PpThe function.Fn memgetreturns a pointer to a block of memory of at least the requested.Fa size .After adjusting.Fa sizeto the value.Va new_sizeas mentioned above in the .Sx INTERNALSsubsection, the internal array of free lists is checked.If there is no block of the needed.Va new_size ,then.Fn memget will .Xr malloc 3a chunk of memory which is as many times as .Va new_sizewill fit into the target size.  This memory is then turned into a linked list of .Va new_size Ns No -sizedblocks which are given out as requested; the last such block is the first one returned by .Fn memget .If the requested.Fa sizeis zero or negative, then .Dv NULLis returned and.Va errnois set to.Dv EINVAL ;if .Fa sizeis larger than or equal to the pre-defined maximum size.Dv MEM_FREECOUNT ,then only a single block of exactly .Fa sizewill be.Xr malloc 3 Ns No -dand returned..PpThe.Fn memputcall is used to return memory once the caller is finished with it.After adjusting.Fa sizethe the value.Va new_sizeas mentioned in the .Sx INTERNALS subsection, above, the block is placed at the head of the free list of .Va new_size Ns -sizedblocks.If the given.Fa sizeis zero or negative, then .Va errnois set to.Dv EINVAL ,as for.Fn memget .If .Fa sizeis larger than or equal to the pre-defined maximum size.Dv MEM_FREECOUNT ,then the block is immediately.Xr free 3 Ns No -d ..Pp.Sy NOTE :It is important that callers give .Fn memput.Em onlyblocks of memory which were previously obtained from.Fn memget if the block is .Em actually less than.Dv SMALL_SIZE_LIMITbytes in size.  Since all blocks will be added to a free list, any block which is not at least.Dv SMALL_SIZE_LIMITbytes long will not be able to hold a pointer to the next block in thefree list..PpThe.Fn memstatsfunction will summarize the number of calls to .Fn memgetand.Fn memputfor any block size from 1 byte up to.Pq Dv MEM_FREECOUNT No - 1  bytes, followed by a single line for any calls using a .Fa sizegreater than or equal to .Dv MEM_FREECOUNT ; a brief header with shell-style comment lines prefaces the report andexplains the information.  The .Dv FILE pointer.Fa outidentifies the stream which is used for this report.  Currently, .Fn memstatreports the number of calls to .Fn memgetand.Fn memputusing the caller-supplied value .Fa size ; the percentage of outstanding blocks of a given size (i.e., the percentageby which calls to.Fn memgetexceed .Fn memput )are also reported on the line for blocks of the given.Fa size .However, the percent of blocks used is computed using the number of blocks allocated according to the internal parameter.Va new_size ;it is the percentage of blocks used to those available at a given.Va new_size ,and is computed using the.Em totalnumber of caller .Dq getsfor any caller.Fa size Ns No -swhich map to the internally-computed.Va new_size .Keep in mind that.Va new_sizeis generally .Em notequal to.Fa size , which has these implications:.Bl -enum -offset indent.ItFor.Fa sizesmaller than.Dv SMALL_SIZE_LIMIT ,.Fn memstat.Em will show statistics for caller requests under.Fa size , but "percent used" information about such blocks will be reported under.Dv SMALL_SIZE_LIMIT Ns No -sizedblocks.  .ItAs a general case of point 1, internal statistics are reported on the theline corresponding to.Va new_size ,so that, for a given caller-supplied.Fa size ,the associated internal information will appear on that line or on the nextline which shows "percent used" information..El.Pp.Sy NOTE :If the caller returns blocks of a given.Fa sizeand requests others of .Fa size Ns No -s which map to the same internal.Va new_size ,it is possible for.Fn memstatsto report usage of greater than 100% for blocks of size.Va new_size .This should be viewed as A Good Thing..Sh RETURN VALUESThe function.Fn memgetreturns a .No non- Ns Dv NULLpointer to a block of memory of the requested.Fa size .It returns.Dv NULLif either the.Fa sizeis invalid (less than or equal to zero) or a .Xr malloc 3of a new block of memory fails.  In the former case, .Va errnois set to .Dv EINVAL ; in the latter, it is set to.Dv ENOMEM ..PpNeither.Fn memputnor.Fn memstatsreturn a value..\" This next request is for sections 1, 6, 7 & 8 only.\" .Sh ENVIRONMENT.\" .Sh FILES.\" .Sh EXAMPLES.\" This next request is for sections 1, 6, 7 & 8 only.\"     (command return values (to shell) and.\"    fprintf/stderr type diagnostics).\" .Sh DIAGNOSTICS.\" The next request is for sections 2 and 3 error.\" and signal handling only..Sh ERRORS.Va errnois set as follows:.Bl -tag -width "ENOMEM  " -offset indent.It Dv EINVALset by both.Fn memgetand.Fn memputif the .Fa sizeis zero or negative.It Dv ENOMEMset by .Fn memgetif a call to.Xr malloc 3fails.El.Sh SEE ALSO.Xr free 3 ,.Xr malloc 3 ..\" .Sh STANDARDS.\" .Sh HISTORY.Sh AUTHORSSteven J. Richardson and Paul Vixie, Vixie Enterprises..\" .Sh BUGS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线电影| 91精品中文字幕一区二区三区| 久久亚洲精精品中文字幕早川悠里 | 欧美精品一区二区三区一线天视频| 亚洲成a人v欧美综合天堂下载 | 在线视频亚洲一区| 一个色在线综合| 欧美日韩国产综合一区二区三区| 偷拍一区二区三区| 欧美tickling网站挠脚心| 国产精品亚洲成人| 《视频一区视频二区| 在线区一区二视频| 奇米精品一区二区三区在线观看一| 精品久久人人做人人爽| 成人精品免费看| 一区二区三区精品| 日韩美女在线视频| 成人va在线观看| 亚洲狠狠爱一区二区三区| 在线成人午夜影院| 国产精品一区在线| 亚洲视频在线一区二区| 69堂精品视频| 国产成人精品免费看| 一区二区高清免费观看影视大全| 欧美精品 日韩| 成人午夜电影网站| 天堂久久久久va久久久久| 日本一区二区三区在线观看| 欧美色精品在线视频| 国产电影精品久久禁18| 亚洲综合另类小说| 久久亚洲综合av| 欧美人狂配大交3d怪物一区| 国产黄色精品网站| 日韩成人一级大片| 亚洲色图视频网站| 26uuu精品一区二区在线观看| 色综合久久综合网97色综合 | 久久久九九九九| 欧美亚洲一区二区在线观看| 国产成人丝袜美腿| 日韩国产高清影视| 亚洲美女偷拍久久| 国产日韩一级二级三级| 日韩亚洲欧美在线| 欧美制服丝袜第一页| 成人一区二区三区视频在线观看| 日韩高清在线一区| 亚洲一级在线观看| 亚洲四区在线观看| 国产精品午夜久久| 久久久久久久久久久黄色| 欧美一区二区在线免费播放| 日本高清视频一区二区| 99天天综合性| 成人国产亚洲欧美成人综合网| 精品伊人久久久久7777人| 日韩综合小视频| 香蕉加勒比综合久久| 樱桃视频在线观看一区| 亚洲男人天堂av| 国产精品久久久久久久久动漫| 2019国产精品| 精品美女被调教视频大全网站| 制服.丝袜.亚洲.另类.中文| 在线观看日韩国产| 色94色欧美sute亚洲13| 99久久精品免费看国产免费软件| 高清国产一区二区| 国产99久久久久久免费看农村| 久久激情五月激情| 久久精品国产亚洲aⅴ| 青青草精品视频| 免费观看在线综合色| 另类的小说在线视频另类成人小视频在线| 首页欧美精品中文字幕| 天堂成人免费av电影一区| 日韩avvvv在线播放| 午夜视频一区二区| 日韩国产在线观看| 国产伦精品一区二区三区视频青涩| 精彩视频一区二区三区| 国产一区二区成人久久免费影院 | 中文字幕亚洲欧美在线不卡| 国产精品美女久久久久av爽李琼 | 亚洲国产日产av| 午夜激情一区二区| 日本aⅴ免费视频一区二区三区| 日本美女视频一区二区| 久久99国内精品| 国产成人精品免费看| 99精品久久免费看蜜臀剧情介绍| 99国产一区二区三精品乱码| 91久久久免费一区二区| 欧美人狂配大交3d怪物一区| 欧美电影免费观看高清完整版在线观看| 欧美va日韩va| 亚洲天堂成人网| 日本女优在线视频一区二区| 国产一区二区三区免费| 一本到高清视频免费精品| 欧美疯狂性受xxxxx喷水图片| 欧美不卡在线视频| 国产精品福利一区| 日韩成人av影视| 成人综合婷婷国产精品久久蜜臀 | 欧美日韩在线一区二区| 欧美va日韩va| 亚洲精品你懂的| 美女网站在线免费欧美精品| 成人国产精品免费| 欧美日韩高清影院| 国产精品全国免费观看高清| 亚洲一级电影视频| 国产激情偷乱视频一区二区三区| 在线精品视频免费观看| 欧美va在线播放| 亚洲一区二区三区四区在线观看| 经典三级视频一区| 欧美性生活影院| 日本一区二区电影| 日韩在线卡一卡二| av在线播放不卡| 欧美mv日韩mv| 亚洲国产日韩精品| 成人激情小说乱人伦| 欧美大度的电影原声| 怡红院av一区二区三区| 国产伦理精品不卡| 欧美一级爆毛片| 一区二区三区中文字幕在线观看| 久国产精品韩国三级视频| 色吧成人激情小说| 国产视频911| 久久精品999| 欧美二区三区的天堂| 亚洲免费观看高清完整版在线 | 国产成人一区在线| 91精品视频网| 亚洲午夜一区二区| 一本大道综合伊人精品热热| 国产校园另类小说区| 狠狠网亚洲精品| 欧美一二三区在线| 亚洲一区视频在线| 91女人视频在线观看| 国产精品乱码妇女bbbb| 国产一区二区视频在线| 欧美一级片在线看| 婷婷开心激情综合| 欧美性三三影院| 亚洲成人中文在线| 欧美三日本三级三级在线播放| 亚洲免费资源在线播放| 91在线免费播放| 日韩美女久久久| 99久久99精品久久久久久| 国产精品久久久久婷婷| 国产一区在线精品| 精品国产乱码久久久久久免费| 青青青爽久久午夜综合久久午夜| 欧美日韩午夜影院| 日韩av在线发布| 欧美另类一区二区三区| 日本欧美一区二区三区| 日韩欧美国产综合在线一区二区三区| 一区二区三区蜜桃网| 欧美视频日韩视频在线观看| 亚洲一区二区三区在线| 欧美日韩在线播| 日日摸夜夜添夜夜添精品视频| 欧美一区二区三区电影| 麻豆一区二区三区| 久久久久久免费网| 粉嫩嫩av羞羞动漫久久久| 最新欧美精品一区二区三区| 色哟哟精品一区| 亚洲午夜在线电影| 日韩欧美国产高清| 成人亚洲精品久久久久软件| 中文字幕的久久| 在线免费精品视频| 日韩精品91亚洲二区在线观看| 日韩丝袜美女视频| 国产精品一区二区三区乱码 | 久久久精品国产免费观看同学| 国产一区二区电影| 亚洲天堂av老司机| 91麻豆精品91久久久久同性| 国内精品在线播放| 亚洲三级在线免费观看| 欧美撒尿777hd撒尿| 久久成人精品无人区| 国产日韩欧美高清| 99精品国产91久久久久久| 日韩国产精品久久| 中文子幕无线码一区tr| 欧美性生活久久|