当前位置: 首页 > article >正文

详解C++动态内存管理

1.c的动态内存管理c语言的动态内存管理使用的函数为malloc/calloc/realloc/free1.1 malloc/calloc/realloc12345678910voidTest (){int* p1 (int*)malloc(sizeof(int));free(p1);// 1.malloc/calloc/realloc的区别是什么int* p2 (int*)calloc(4,sizeof(int));int* p3 (int*)realloc(p2,sizeof(int)*10);// 这里需要free(p2)吗free(p3 );}malloc 和 calloc 都是动态内存申请函数不同点是malloc 和calloc 的参数不同前者是申请的字节大小后者为一个类型的大小和个数malloc 不初始化calloc 初始化malloc 为内存分配一块calloc 分配n快realloc是用来扩容的函数就是你malloc或calloc空间不够的时候使用realloc来增加空间的。注意realloc扩容方式有两种第一种就是malloc之后后边的内存依然足够扩容那么realloc就在之前空间的后面扩容如果不够则再找一块内存空间将之前的数据拷贝到realloc里面再扩容。2.C动态内存管理C语言内存管理方式在C中可以继续使用但有些地方就无能为力而且使用起来比较麻烦因此C又提出了自己的内存管理方式通过new和delete操作符进行动态内存管理。2.1 new/delete操作内置类型123456789101112131415161718192021intmain(){//text1();int* a1 newint;//不初始化cout *a1 endl;deletea1;int* a2 newint(1);//初始化为1cout *a2 endl;deletea2;int* a3 newint[3]{1,2,3};//多次开辟初始化inti 0;for(i0;i3;i){cout a3[i] endl;}delete[] a3;return0;}注意开辟一个元素delete不用加[],开辟多个元素delete一定要加[],不然会导致出现bug。2.2 new/delete操作自定义类型1234567891011121314151617181920212223242526272829classsss{public:sss(inta0,intb0):_a(a),_b(b){;}~sss(){_a 0;_b 0;}private:int_a;int_b;};intmain(){//使用newsss* s1 newsss[2]{ {1,1},{2,2} };delete[] s1;//使用mallocsss* s2 (sss*)malloc(sizeof(sss)*2);free(s2);return0;}注意new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数。且malloc不能初始化new可以初始化这是两者最大的区别。2.3 new底层原理new和delete是用户进行动态内存申请和释放的操作符operator new 和operator delete是系统提供的全局函数new在底层调用operator new全局函数来申请空间delete在底层通过operator delete全局函数来释放空间。底层代码12345678910111213141516171819202122232425/*operator delete: 该函数最终是通过free来释放空间的*/voidoperatordelete(void* pUserData){_CrtMemBlockHeader* pHead;RTCCALLBACK(_RTC_Free_hook, (pUserData, 0));if(pUserData NULL)return;_mlock(_HEAP_LOCK);/* block other threads */__TRY/* get a pointer to memory block header */pHead pHdr(pUserData);/* verify block type */_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead-nBlockUse));_free_dbg(pUserData, pHead-nBlockUse);__FINALLY_munlock(_HEAP_LOCK);/* release other threads */__END_TRY_FINALLYreturn;}/*free的实现*/#define free(p) _free_dbg(p, _NORMAL_BLOCK)通过上述两个全局函数的实现知道operator new 实际也是通过malloc来申请空间如果malloc申请空间成功就直接返回否则执行用户提供的空间不足应对措施如果用户提供该措施就继续申请否则就抛异常。operator delete 最终是通过free来释放空间的。2.4 new 和 delete实现原理内置类型和malloc基本一样不会有太大差别。不同的地方是new/delete申请和释放的是单个元素的空间new[]和delete[]申请的是连续空间而且new在申请空间失败时会抛异常malloc会返回NULL。自定义类型会调用构造函数和析构函数malloc不会调用。3.malloc/free和new/delete的区别malloc/free和new/delete的共同点是都是从堆上申请空间并且需要用户手动释放。不同的地方是1. malloc和free是函数new和delete是操作符2. malloc申请的空间不会初始化new可以初始化3. malloc申请空间时需要手动计算空间大小并传递new只需在其后跟上空间的类型即可如果是多个对象[]中指定对象个数即可4. malloc的返回值为void*, 在使用时必须强转new不需要因为new后跟的是空间的类型5. malloc申请空间失败时返回的是NULL因此使用时必须判空new不需要但是new需要捕获异常6. 申请自定义类型对象时malloc/free只会开辟空间不会调用构造函数与析构函数而new在申请空间后会调用构造函数完成对象的初始化delete在释放空间前会调用析构函数完成空间中资源的清理。yip.vpntb.pro/39137.Docyip.vpntb.pro/93115.Docyip.vpntb.pro/57355.Docyip.vpntb.pro/35575.Docyip.vpntb.pro/79193.Docyip.vpntb.pro/19971.Docyip.vpntb.pro/71753.Docyip.vpntb.pro/35999.Docyip.vpntb.pro/38815.Docyip.vpntb.pro/11913.Docmec.vpntb.pro/53331.Docmec.vpntb.pro/57571.Docmec.vpntb.pro/35319.Docmec.vpntb.pro/93351.Docmec.vpntb.pro/39757.Docmec.vpntb.pro/55137.Docmec.vpntb.pro/31551.Docmec.vpntb.pro/35711.Docmec.vpntb.pro/91599.Docmec.vpntb.pro/53377.Docrep.vpntb.pro/91751.Docrep.vpntb.pro/31913.Docrep.vpntb.pro/51551.Docrep.vpntb.pro/11995.Docrep.vpntb.pro/35551.Docrep.vpntb.pro/13153.Docrep.vpntb.pro/99111.Docrep.vpntb.pro/33999.Docrep.vpntb.pro/19751.Docrep.vpntb.pro/91199.Docast.vpntb.pro/13339.Docast.vpntb.pro/17557.Docast.vpntb.pro/31317.Docast.vpntb.pro/95131.Docast.vpntb.pro/31137.Docast.vpntb.pro/79531.Docast.vpntb.pro/33755.Docast.vpntb.pro/51939.Docast.vpntb.pro/15597.Docast.vpntb.pro/35373.Docqhv.vpntb.pro/37711.Docqhv.vpntb.pro/93719.Docqhv.vpntb.pro/51951.Docqhv.vpntb.pro/93717.Docqhv.vpntb.pro/35597.Docqhv.vpntb.pro/97797.Docqhv.vpntb.pro/15777.Docqhv.vpntb.pro/33179.Docqhv.vpntb.pro/88226.Docqhv.vpntb.pro/44080.Dochok.vpntb.pro/66262.Dochok.vpntb.pro/08880.Dochok.vpntb.pro/46024.Dochok.vpntb.pro/22228.Dochok.vpntb.pro/11915.Dochok.vpntb.pro/95731.Dochok.vpntb.pro/35519.Dochok.vpntb.pro/33933.Dochok.vpntb.pro/57997.Dochok.vpntb.pro/93153.Docpdk.vpntb.pro/08664.Docpdk.vpntb.pro/60400.Docpdk.vpntb.pro/75131.Docpdk.vpntb.pro/06806.Docpdk.vpntb.pro/33137.Docpdk.vpntb.pro/84408.Docpdk.vpntb.pro/66866.Docpdk.vpntb.pro/82242.Docpdk.vpntb.pro/19513.Docpdk.vpntb.pro/31977.Doccxa.vpntb.pro/53751.Doccxa.vpntb.pro/37757.Doccxa.vpntb.pro/75353.Doccxa.vpntb.pro/11753.Doccxa.vpntb.pro/57153.Doccxa.vpntb.pro/13151.Doccxa.vpntb.pro/99593.Doccxa.vpntb.pro/00460.Doccxa.vpntb.pro/28480.Doccxa.vpntb.pro/48844.Docbjg.vpntb.pro/62626.Docbjg.vpntb.pro/46460.Docbjg.vpntb.pro/22264.Docbjg.vpntb.pro/40684.Docbjg.vpntb.pro/02622.Docbjg.vpntb.pro/28246.Docbjg.vpntb.pro/20660.Docbjg.vpntb.pro/02266.Docbjg.vpntb.pro/04460.Docbjg.vpntb.pro/68440.Docqts.vpntb.pro/20422.Docqts.vpntb.pro/62280.Docqts.vpntb.pro/82408.Docqts.vpntb.pro/57391.Docqts.vpntb.pro/24868.Docqts.vpntb.pro/22868.Docqts.vpntb.pro/00082.Docqts.vpntb.pro/86802.Docqts.vpntb.pro/66680.Docqts.vpntb.pro/62846.Docsrt.vpntb.pro/64882.Docsrt.vpntb.pro/06466.Docsrt.vpntb.pro/24084.Docsrt.vpntb.pro/28006.Docsrt.vpntb.pro/28824.Docsrt.vpntb.pro/48062.Docsrt.vpntb.pro/82246.Docsrt.vpntb.pro/99331.Docsrt.vpntb.pro/79315.Docsrt.vpntb.pro/73553.Doccgh.vpntb.pro/37533.Doccgh.vpntb.pro/46086.Doccgh.vpntb.pro/44646.Doccgh.vpntb.pro/44022.Doccgh.vpntb.pro/08822.Doccgh.vpntb.pro/20820.Doccgh.vpntb.pro/06848.Doccgh.vpntb.pro/17199.Doccgh.vpntb.pro/91917.Doccgh.vpntb.pro/37515.Dochv.vpntb.pro/93913.Dochv.vpntb.pro/99797.Dochv.vpntb.pro/95379.Dochv.vpntb.pro/95753.Dochv.vpntb.pro/57351.Dochv.vpntb.pro/33977.Dochv.vpntb.pro/75997.Dochv.vpntb.pro/57319.Dochv.vpntb.pro/35355.Dochv.vpntb.pro/77975.Docyid.vpntb.pro/95353.Docyid.vpntb.pro/11519.Docyid.vpntb.pro/53735.Docyid.vpntb.pro/79197.Docyid.vpntb.pro/71593.Docyid.vpntb.pro/97577.Docyid.vpntb.pro/57395.Docyid.vpntb.pro/99337.Docyid.vpntb.pro/33957.Docyid.vpntb.pro/91575.Doctrm.vpntb.pro/71593.Doctrm.vpntb.pro/93373.Doctrm.vpntb.pro/79939.Doctrm.vpntb.pro/35373.Doctrm.vpntb.pro/55351.Doctrm.vpntb.pro/11115.Doctrm.vpntb.pro/31931.Doctrm.vpntb.pro/17573.Doctrm.vpntb.pro/75555.Doctrm.vpntb.pro/19711.Docnbi.vpntb.pro/35519.Docnbi.vpntb.pro/97559.Docnbi.vpntb.pro/35377.Docnbi.vpntb.pro/71131.Docnbi.vpntb.pro/33993.Docnbi.vpntb.pro/11197.Docnbi.vpntb.pro/93157.Docnbi.vpntb.pro/99599.Docnbi.vpntb.pro/33955.Docnbi.vpntb.pro/73179.Doctde.vpntb.pro/37795.Doctde.vpntb.pro/75513.Doctde.vpntb.pro/57535.Doctde.vpntb.pro/55951.Doctde.vpntb.pro/77913.Doctde.vpntb.pro/93779.Doctde.vpntb.pro/73577.Doctde.vpntb.pro/57771.Doctde.vpntb.pro/79379.Doctde.vpntb.pro/93379.Docigk.vpntb.pro/79331.Docigk.vpntb.pro/79137.Docigk.vpntb.pro/33113.Docigk.vpntb.pro/91551.Docigk.vpntb.pro/93395.Docigk.vpntb.pro/77999.Docigk.vpntb.pro/99991.Docigk.vpntb.pro/73539.Docigk.vpntb.pro/17197.Docigk.vpntb.pro/39515.Docrfx.vpntb.pro/17931.Docrfx.vpntb.pro/99999.Docrfx.vpntb.pro/19991.Docrfx.vpntb.pro/39797.Docrfx.vpntb.pro/51515.Docrfx.vpntb.pro/79179.Docrfx.vpntb.pro/99915.Docrfx.vpntb.pro/33937.Docrfx.vpntb.pro/53151.Docrfx.vpntb.pro/11799.Dociep.vpntb.pro/57573.Dociep.vpntb.pro/35595.Dociep.vpntb.pro/73917.Dociep.vpntb.pro/19913.Dociep.vpntb.pro/75579.Dociep.vpntb.pro/33513.Dociep.vpntb.pro/13331.Dociep.vpntb.pro/53753.Dociep.vpntb.pro/33379.Dociep.vpntb.pro/53917.Docgcl.vpntb.pro/39571.Docgcl.vpntb.pro/71531.Docgcl.vpntb.pro/99777.Docgcl.vpntb.pro/95373.Docgcl.vpntb.pro/33319.Docgcl.vpntb.pro/99711.Docgcl.vpntb.pro/59131.Docgcl.vpntb.pro/33333.Docgcl.vpntb.pro/75713.Docgcl.vpntb.pro/99757.Docfbg.vpntb.pro/73157.Docfbg.vpntb.pro/93397.Docfbg.vpntb.pro/95117.Docfbg.vpntb.pro/31751.Docfbg.vpntb.pro/35973.Docfbg.vpntb.pro/15375.Docfbg.vpntb.pro/33935.Docfbg.vpntb.pro/31155.Docfbg.vpntb.pro/11599.Docfbg.vpntb.pro/75937.Doczwp.vpntb.pro/13537.Doczwp.vpntb.pro/77119.Doczwp.vpntb.pro/17551.Doczwp.vpntb.pro/77515.Doczwp.vpntb.pro/35557.Doczwp.vpntb.pro/11791.Doczwp.vpntb.pro/59577.Doczwp.vpntb.pro/35771.Doczwp.vpntb.pro/77537.Doczwp.vpntb.pro/75711.Docejb.vpntb.pro/79937.Docejb.vpntb.pro/15751.Docejb.vpntb.pro/39571.Docejb.vpntb.pro/57579.Docejb.vpntb.pro/99971.Docejb.vpntb.pro/13935.Docejb.vpntb.pro/17997.Docejb.vpntb.pro/79519.Docejb.vpntb.pro/93317.Docejb.vpntb.pro/77311.Docgtf.vpntb.pro/13575.Docgtf.vpntb.pro/13355.Docgtf.vpntb.pro/73177.Docgtf.vpntb.pro/35519.Docgtf.vpntb.pro/39931.Docgtf.vpntb.pro/77759.Docgtf.vpntb.pro/95759.Docgtf.vpntb.pro/39775.Docgtf.vpntb.pro/53733.Docgtf.vpntb.pro/17375.Docgrk.vpntb.pro/13717.Docgrk.vpntb.pro/59591.Docgrk.vpntb.pro/71991.Docgrk.vpntb.pro/37117.Docgrk.vpntb.pro/59333.Docgrk.vpntb.pro/95393.Docgrk.vpntb.pro/35931.Docgrk.vpntb.pro/97313.Docgrk.vpntb.pro/97519.Docgrk.vpntb.pro/17577.Docesl.vpntb.pro/77179.Docesl.vpntb.pro/97191.Docesl.vpntb.pro/77939.Docesl.vpntb.pro/99199.Docesl.vpntb.pro/33571.Docesl.vpntb.pro/15995.Docesl.vpntb.pro/53533.Docesl.vpntb.pro/37199.Docesl.vpntb.pro/31915.Docesl.vpntb.pro/15353.Docctk.vpntb.pro/55517.Docctk.vpntb.pro/97797.Docctk.vpntb.pro/35731.Docctk.vpntb.pro/17715.Docctk.vpntb.pro/73319.Docctk.vpntb.pro/93333.Docctk.vpntb.pro/37511.Docctk.vpntb.pro/73199.Docctk.vpntb.pro/37719.Docctk.vpntb.pro/91117.Docmpl.vpntb.pro/35391.Docmpl.vpntb.pro/53595.Docmpl.vpntb.pro/51313.Docmpl.vpntb.pro/31339.Docmpl.vpntb.pro/37157.Docmpl.vpntb.pro/39553.Docmpl.vpntb.pro/57973.Docmpl.vpntb.pro/19973.Docmpl.vpntb.pro/91777.Docmpl.vpntb.pro/55793.Doclyh.vpntb.pro/17139.Doclyh.vpntb.pro/95191.Doclyh.vpntb.pro/35711.Doclyh.vpntb.pro/15571.Doclyh.vpntb.pro/55951.Doclyh.vpntb.pro/95595.Doclyh.vpntb.pro/99593.Doclyh.vpntb.pro/99953.Doclyh.vpntb.pro/79119.Doclyh.vpntb.pro/97355.Docdhk.vpntb.pro/51751.Docdhk.vpntb.pro/53197.Docdhk.vpntb.pro/75717.Docdhk.vpntb.pro/51357.Docdhk.vpntb.pro/71753.Docdhk.vpntb.pro/55393.Docdhk.vpntb.pro/57155.Docdhk.vpntb.pro/97151.Docdhk.vpntb.pro/99979.Docdhk.vpntb.pro/19737.Dockii.vpntb.pro/51953.Dockii.vpntb.pro/91579.Dockii.vpntb.pro/97733.Dockii.vpntb.pro/17733.Dockii.vpntb.pro/51537.Dockii.vpntb.pro/19953.Dockii.vpntb.pro/51731.Dockii.vpntb.pro/39997.Dockii.vpntb.pro/71973.Dockii.vpntb.pro/13331.Docucr.vpntb.pro/57719.Docucr.vpntb.pro/57577.Docucr.vpntb.pro/39971.Docucr.vpntb.pro/93113.Docucr.vpntb.pro/31957.Docucr.vpntb.pro/55739.Docucr.vpntb.pro/97739.Docucr.vpntb.pro/97759.Docucr.vpntb.pro/35177.Docucr.vpntb.pro/91113.Docfwb.vpntb.pro/17739.Docfwb.vpntb.pro/13575.Docfwb.vpntb.pro/71333.Docfwb.vpntb.pro/97735.Docfwb.vpntb.pro/91353.Docfwb.vpntb.pro/31551.Docfwb.vpntb.pro/93317.Docfwb.vpntb.pro/11577.Docfwb.vpntb.pro/55735.Docfwb.vpntb.pro/51391.Docxdc.vpntb.pro/35395.Docxdc.vpntb.pro/19357.Docxdc.vpntb.pro/73913.Docxdc.vpntb.pro/75935.Docxdc.vpntb.pro/95155.Docxdc.vpntb.pro/75397.Docxdc.vpntb.pro/71519.Docxdc.vpntb.pro/99191.Docxdc.vpntb.pro/73779.Docxdc.vpntb.pro/77159.Doccs.vpntb.pro/77371.Doccs.vpntb.pro/17915.Doccs.vpntb.pro/33131.Doccs.vpntb.pro/19311.Doccs.vpntb.pro/93919.Doccs.vpntb.pro/51919.Doccs.vpntb.pro/99937.Doccs.vpntb.pro/97517.Doccs.vpntb.pro/75355.Doccs.vpntb.pro/79593.Docvzg.vpntb.pro/39595.Docvzg.vpntb.pro/93931.Docvzg.vpntb.pro/17393.Docvzg.vpntb.pro/77973.Docvzg.vpntb.pro/53151.Docvzg.vpntb.pro/73753.Docvzg.vpntb.pro/91337.Docvzg.vpntb.pro/51339.Docvzg.vpntb.pro/73175.Docvzg.vpntb.pro/59997.Docwif.vpntb.pro/97719.Docwif.vpntb.pro/13397.Docwif.vpntb.pro/91511.Docwif.vpntb.pro/39511.Docwif.vpntb.pro/99397.Docwif.vpntb.pro/99555.Docwif.vpntb.pro/13531.Docwif.vpntb.pro/57197.Docwif.vpntb.pro/55775.Docwif.vpntb.pro/91597.Docyfk.vpntb.pro/71997.Docyfk.vpntb.pro/77793.Docyfk.vpntb.pro/95937.Docyfk.vpntb.pro/39195.Docyfk.vpntb.pro/77371.Docyfk.vpntb.pro/39575.Docyfk.vpntb.pro/53531.Docyfk.vpntb.pro/37973.Docyfk.vpntb.pro/35939.Docyfk.vpntb.pro/75911.Docfge.vpntb.pro/15171.Docfge.vpntb.pro/97579.Docfge.vpntb.pro/15573.Docfge.vpntb.pro/53171.Docfge.vpntb.pro/75517.Docfge.vpntb.pro/77955.Docfge.vpntb.pro/73711.Docfge.vpntb.pro/75113.Docfge.vpntb.pro/37537.Docfge.vpntb.pro/95199.Docqpg.vpntb.pro/15517.Docqpg.vpntb.pro/91533.Docqpg.vpntb.pro/73199.Docqpg.vpntb.pro/77971.Docqpg.vpntb.pro/91953.Docqpg.vpntb.pro/55315.Docqpg.vpntb.pro/13395.Docqpg.vpntb.pro/59179.Docqpg.vpntb.pro/91715.Docqpg.vpntb.pro/31973.Docyan.vpntb.pro/13571.Docyan.vpntb.pro/71919.Docyan.vpntb.pro/93577.Docyan.vpntb.pro/91719.Docyan.vpntb.pro/15555.Docyan.vpntb.pro/97755.Docyan.vpntb.pro/33379.Docyan.vpntb.pro/53111.Docyan.vpntb.pro/71371.Docyan.vpntb.pro/11335.Docjes.vpntb.pro/31775.Docjes.vpntb.pro/97513.Docjes.vpntb.pro/57551.Docjes.vpntb.pro/53399.Docjes.vpntb.pro/75771.Docjes.vpntb.pro/97593.Docjes.vpntb.pro/13193.Docjes.vpntb.pro/79735.Docjes.vpntb.pro/11131.Docjes.vpntb.pro/57551.Dockaj.vpntb.pro/73571.Dockaj.vpntb.pro/19917.Dockaj.vpntb.pro/95315.Dockaj.vpntb.pro/39975.Dockaj.vpntb.pro/91711.Dockaj.vpntb.pro/31771.Dockaj.vpntb.pro/73777.Dockaj.vpntb.pro/19913.Dockaj.vpntb.pro/13971.Dockaj.vpntb.pro/35193.Docnvj.vpntb.pro/77395.Docnvj.vpntb.pro/31995.Docnvj.vpntb.pro/33511.Docnvj.vpntb.pro/33979.Docnvj.vpntb.pro/19799.Docnvj.vpntb.pro/59739.Docnvj.vpntb.pro/75797.Docnvj.vpntb.pro/37599.Docnvj.vpntb.pro/13115.Docnvj.vpntb.pro/59353.Docdfd.vpntb.pro/53513.Docdfd.vpntb.pro/71591.Docdfd.vpntb.pro/15579.Docdfd.vpntb.pro/93775.Docdfd.vpntb.pro/35179.Docdfd.vpntb.pro/93539.Docdfd.vpntb.pro/93559.Docdfd.vpntb.pro/17773.Docdfd.vpntb.pro/15373.Docdfd.vpntb.pro/15993.Docqiu.vpntb.pro/55155.Docqiu.vpntb.pro/51793.Docqiu.vpntb.pro/35591.Docqiu.vpntb.pro/73191.Docqiu.vpntb.pro/71573.Docqiu.vpntb.pro/59959.Docqiu.vpntb.pro/19959.Docqiu.vpntb.pro/77193.Docqiu.vpntb.pro/57713.Docqiu.vpntb.pro/75959.Docvff.vpntb.pro/39957.Docvff.vpntb.pro/99559.Docvff.vpntb.pro/97773.Docvff.vpntb.pro/75379.Docvff.vpntb.pro/59193.Docvff.vpntb.pro/39715.Docvff.vpntb.pro/93139.Docvff.vpntb.pro/55737.Docvff.vpntb.pro/13773.Docvff.vpntb.pro/55935.Docjjt.vpntb.pro/75737.Docjjt.vpntb.pro/73335.Docjjt.vpntb.pro/17759.Docjjt.vpntb.pro/39377.Docjjt.vpntb.pro/51135.Docjjt.vpntb.pro/73195.Docjjt.vpntb.pro/59353.Docjjt.vpntb.pro/99137.Docjjt.vpntb.pro/57175.Docjjt.vpntb.pro/73939.Docgsr.vpntb.pro/33777.Docgsr.vpntb.pro/93579.Docgsr.vpntb.pro/13551.Docgsr.vpntb.pro/19997.Docgsr.vpntb.pro/55799.Docgsr.vpntb.pro/59999.Docgsr.vpntb.pro/79939.Docgsr.vpntb.pro/13157.Docgsr.vpntb.pro/71971.Docgsr.vpntb.pro/79773.Docktp.vpntb.pro/53913.Docktp.vpntb.pro/75559.Docktp.vpntb.pro/99331.Docktp.vpntb.pro/57753.Docktp.vpntb.pro/77333.Docktp.vpntb.pro/17351.Docktp.vpntb.pro/93755.Docktp.vpntb.pro/71955.Docktp.vpntb.pro/99773.Docktp.vpntb.pro/75537.Docvmt.vpntb.pro/17579.Docvmt.vpntb.pro/15333.Docvmt.vpntb.pro/91117.Docvmt.vpntb.pro/59171.Docvmt.vpntb.pro/15717.Docvmt.vpntb.pro/51377.Docvmt.vpntb.pro/91379.Docvmt.vpntb.pro/13953.Docvmt.vpntb.pro/97713.Docvmt.vpntb.pro/55513.Docsys.vpntb.pro/31953.Docsys.vpntb.pro/31339.Docsys.vpntb.pro/13579.Docsys.vpntb.pro/31735.Docsys.vpntb.pro/31775.Docsys.vpntb.pro/37953.Docsys.vpntb.pro/79593.Docsys.vpntb.pro/91319.Docsys.vpntb.pro/13793.Docsys.vpntb.pro/53935.Docdpb.vpntb.pro/31555.Docdpb.vpntb.pro/39597.Docdpb.vpntb.pro/33957.Docdpb.vpntb.pro/51759.Docdpb.vpntb.pro/99799.Docdpb.vpntb.pro/71771.Docdpb.vpntb.pro/79179.Docdpb.vpntb.pro/17133.Docdpb.vpntb.pro/97755.Docdpb.vpntb.pro/75155.Docjtr.vpntb.pro/37935.Docjtr.vpntb.pro/77319.Docjtr.vpntb.pro/99391.Docjtr.vpntb.pro/53593.Docjtr.vpntb.pro/17991.Docjtr.vpntb.pro/17733.Docjtr.vpntb.pro/79713.Docjtr.vpntb.pro/15935.Docjtr.vpntb.pro/77577.Docjtr.vpntb.pro/11315.Docsty.vpntb.pro/37737.Docsty.vpntb.pro/53571.Docsty.vpntb.pro/37157.Docsty.vpntb.pro/15595.Docsty.vpntb.pro/51711.Docsty.vpntb.pro/11511.Docsty.vpntb.pro/51919.Docsty.vpntb.pro/77139.Docsty.vpntb.pro/39737.Docsty.vpntb.pro/19599.Doctbt.vpntb.pro/73195.Doctbt.vpntb.pro/11335.Doctbt.vpntb.pro/59797.Doctbt.vpntb.pro/37319.Doctbt.vpntb.pro/51559.Doctbt.vpntb.pro/73933.Doctbt.vpntb.pro/77377.Doctbt.vpntb.pro/75137.Doctbt.vpntb.pro/31339.Doctbt.vpntb.pro/19333.Docfxd.vpntb.pro/73997.Docfxd.vpntb.pro/53551.Docfxd.vpntb.pro/71715.Docfxd.vpntb.pro/19759.Docfxd.vpntb.pro/95353.Docfxd.vpntb.pro/95999.Docfxd.vpntb.pro/39757.Docfxd.vpntb.pro/35797.Docfxd.vpntb.pro/39717.Docfxd.vpntb.pro/35715.Docidb.vpntb.pro/33191.Docidb.vpntb.pro/55391.Docidb.vpntb.pro/79953.Docidb.vpntb.pro/71179.Docidb.vpntb.pro/53511.Docidb.vpntb.pro/39331.Docidb.vpntb.pro/51775.Docidb.vpntb.pro/35759.Docidb.vpntb.pro/91773.Docidb.vpntb.pro/15131.Docsol.vpntb.pro/99111.Docsol.vpntb.pro/39731.Docsol.vpntb.pro/13339.Docsol.vpntb.pro/59119.Docsol.vpntb.pro/19973.Docsol.vpntb.pro/33553.Docsol.vpntb.pro/77515.Docsol.vpntb.pro/59773.Docsol.vpntb.pro/99951.Docsol.vpntb.pro/99573.Docfou.vpntb.pro/97757.Docfou.vpntb.pro/39557.Docfou.vpntb.pro/59375.Docfou.vpntb.pro/73991.Docfou.vpntb.pro/91177.Docfou.vpntb.pro/55739.Docfou.vpntb.pro/97997.Docfou.vpntb.pro/13979.Docfou.vpntb.pro/51591.Docfou.vpntb.pro/71797.Docyaw.vpntb.pro/71391.Docyaw.vpntb.pro/37759.Docyaw.vpntb.pro/37337.Docyaw.vpntb.pro/71577.Docyaw.vpntb.pro/17379.Docyaw.vpntb.pro/19753.Docyaw.vpntb.pro/17719.Docyaw.vpntb.pro/39513.Docyaw.vpntb.pro/59539.Docyaw.vpntb.pro/15935.Docfuj.vpntb.pro/19195.Docfuj.vpntb.pro/99591.Docfuj.vpntb.pro/75937.Docfuj.vpntb.pro/13379.Docfuj.vpntb.pro/91713.Docfuj.vpntb.pro/15775.Docfuj.vpntb.pro/73579.Docfuj.vpntb.pro/39173.Docfuj.vpntb.pro/71911.Docfuj.vpntb.pro/97175.Docwlm.vpntb.pro/53577.Docwlm.vpntb.pro/73331.Docwlm.vpntb.pro/77313.Docwlm.vpntb.pro/99557.Docwlm.vpntb.pro/95353.Docwlm.vpntb.pro/91975.Docwlm.vpntb.pro/17971.Docwlm.vpntb.pro/57939.Docwlm.vpntb.pro/95977.Docwlm.vpntb.pro/15531.Docdvy.vpntb.pro/35531.Docdvy.vpntb.pro/55117.Docdvy.vpntb.pro/33979.Docdvy.vpntb.pro/39197.Docdvy.vpntb.pro/37315.Docdvy.vpntb.pro/11119.Docdvy.vpntb.pro/79193.Docdvy.vpntb.pro/35935.Docdvy.vpntb.pro/97753.Docdvy.vpntb.pro/19117.Docoss.vpntb.pro/77979.Docoss.vpntb.pro/77931.Docoss.vpntb.pro/11579.Docoss.vpntb.pro/95195.Docoss.vpntb.pro/95911.Docoss.vpntb.pro/13539.Docoss.vpntb.pro/55193.Docoss.vpntb.pro/37533.Docoss.vpntb.pro/57357.Docoss.vpntb.pro/19555.Dockaa.vpntb.pro/59595.Dockaa.vpntb.pro/37917.Dockaa.vpntb.pro/95797.Dockaa.vpntb.pro/37391.Dockaa.vpntb.pro/31973.Dockaa.vpntb.pro/59773.Dockaa.vpntb.pro/17373.Dockaa.vpntb.pro/37139.Dockaa.vpntb.pro/93731.Dockaa.vpntb.pro/51975.Docdax.vpntb.pro/97779.Docdax.vpntb.pro/97739.Docdax.vpntb.pro/91771.Docdax.vpntb.pro/53173.Docdax.vpntb.pro/11315.Docdax.vpntb.pro/57135.Docdax.vpntb.pro/35155.Docdax.vpntb.pro/15357.Docdax.vpntb.pro/35519.Docdax.vpntb.pro/33717.Docqbe.vpntb.pro/97335.Docqbe.vpntb.pro/35755.Docqbe.vpntb.pro/31971.Docqbe.vpntb.pro/15113.Docqbe.vpntb.pro/35557.Docqbe.vpntb.pro/55993.Docqbe.vpntb.pro/17591.Docqbe.vpntb.pro/77977.Docqbe.vpntb.pro/13397.Docqbe.vpntb.pro/75933.Doczit.vpntb.pro/93177.Doczit.vpntb.pro/97517.Doczit.vpntb.pro/97577.Doczit.vpntb.pro/37319.Doczit.vpntb.pro/93759.Doczit.vpntb.pro/15919.Doczit.vpntb.pro/57711.Doczit.vpntb.pro/17571.Doczit.vpntb.pro/37375.Doczit.vpntb.pro/77155.Docnlc.vpntb.pro/73953.Docnlc.vpntb.pro/37595.Docnlc.vpntb.pro/31579.Docnlc.vpntb.pro/33719.Docnlc.vpntb.pro/71711.Docnlc.vpntb.pro/17957.Docnlc.vpntb.pro/97177.Docnlc.vpntb.pro/93733.Docnlc.vpntb.pro/53517.Docnlc.vpntb.pro/79719.Docmis.vpntb.pro/73997.Docmis.vpntb.pro/15117.Docmis.vpntb.pro/57771.Docmis.vpntb.pro/73195.Docmis.vpntb.pro/51331.Docmis.vpntb.pro/33719.Docmis.vpntb.pro/17733.Docmis.vpntb.pro/37379.Docmis.vpntb.pro/99713.Docmis.vpntb.pro/15557.Docwm.vpntb.pro/11531.Docwm.vpntb.pro/13131.Docwm.vpntb.pro/33573.Docwm.vpntb.pro/99595.Docwm.vpntb.pro/13957.Docwm.vpntb.pro/93173.Docwm.vpntb.pro/39951.Docwm.vpntb.pro/55973.Docwm.vpntb.pro/31597.Docwm.vpntb.pro/51737.Docilf.vpntb.pro/13773.Docilf.vpntb.pro/33179.Docilf.vpntb.pro/91757.Docilf.vpntb.pro/57733.Docilf.vpntb.pro/51391.Docilf.vpntb.pro/39993.Docilf.vpntb.pro/59135.Docilf.vpntb.pro/91733.Docilf.vpntb.pro/99957.Docilf.vpntb.pro/35915.Docgcz.vpntb.pro/17351.Docgcz.vpntb.pro/71931.Docgcz.vpntb.pro/59779.Docgcz.vpntb.pro/33393.Docgcz.vpntb.pro/75197.Docgcz.vpntb.pro/95139.Docgcz.vpntb.pro/99315.Docgcz.vpntb.pro/93553.Docgcz.vpntb.pro/75331.Docgcz.vpntb.pro/33151.Docwcj.vpntb.pro/93535.Docwcj.vpntb.pro/35593.Docwcj.vpntb.pro/91355.Docwcj.vpntb.pro/97135.Docwcj.vpntb.pro/51995.Docwcj.vpntb.pro/75715.Docwcj.vpntb.pro/95195.Docwcj.vpntb.pro/97595.Docwcj.vpntb.pro/15317.Docwcj.vpntb.pro/33191.Docscc.vpntb.pro/91557.Docscc.vpntb.pro/51715.Docscc.vpntb.pro/57159.Docscc.vpntb.pro/77719.Docscc.vpntb.pro/33515.Docscc.vpntb.pro/51535.Docscc.vpntb.pro/15355.Docscc.vpntb.pro/59135.Docscc.vpntb.pro/57319.Docscc.vpntb.pro/53571.Docad.vpntb.pro/99575.Docad.vpntb.pro/73157.Docad.vpntb.pro/91553.Docad.vpntb.pro/57153.Docad.vpntb.pro/19113.Docad.vpntb.pro/91771.Docad.vpntb.pro/95719.Docad.vpntb.pro/15799.Docad.vpntb.pro/97579.Docad.vpntb.pro/17571.Dockul.vpntb.pro/33537.Dockul.vpntb.pro/13735.Dockul.vpntb.pro/55393.Dockul.vpntb.pro/95977.Dockul.vpntb.pro/79933.Dockul.vpntb.pro/93331.Dockul.vpntb.pro/91937.Dockul.vpntb.pro/13913.Dockul.vpntb.pro/79933.Dockul.vpntb.pro/11311.Docnci.vpntb.pro/71371.Docnci.vpntb.pro/37371.Docnci.vpntb.pro/11335.Docnci.vpntb.pro/39339.Docnci.vpntb.pro/95995.Docnci.vpntb.pro/95713.Docnci.vpntb.pro/77535.Docnci.vpntb.pro/57915.Docnci.vpntb.pro/75755.Docnci.vpntb.pro/93795.Docweg.vpntb.pro/55191.Docweg.vpntb.pro/17377.Docweg.vpntb.pro/59317.Docweg.vpntb.pro/13557.Docweg.vpntb.pro/95535.Docweg.vpntb.pro/51955.Docweg.vpntb.pro/79971.Docweg.vpntb.pro/77399.Docweg.vpntb.pro/17957.Docweg.vpntb.pro/39337.Doc

相关文章:

详解C++动态内存管理

1.c的动态内存管理 c语言的动态内存管理使用的函数为malloc/calloc/realloc/free 1.1 malloc/calloc/realloc 1 2 3 4 5 6 7 8 9 10 void Test () { int* p1 (int*) malloc(sizeof(int)); free(p1); // 1.malloc/calloc/realloc的区别是什么? in…...

警惕“炼丹师”陷阱:AI从业者如何建立可复现的工程能力?

在人工智能(AI)技术快速渗透软件测试领域的当下,“炼丹师”陷阱正成为从业者面临的核心挑战。这一陷阱特指AI工程师过度沉迷于模型调参、追求短期性能指标(如准确率或召回率),却忽视工程化实践,…...

中国词元:构建自主可控AI生态的三大支柱与协同实践

在全球化AI竞赛日益激烈的背景下,中国科技企业正在探索一条独特的自主创新之路。中国词元(Chinese Tokens)概念的提出,标志着中国AI产业从单一技术突破向生态体系构建的战略转型。这一创新理念将中国模型、中国GPU和中国绿色能源三大要素有机结合&#x…...

端到端ECC保障车规存储可靠性

在车规级或高可靠性存储系统中,“端到端 ECC”是一种贯穿数据从写入到读取全路径的错误检测与纠正机制,其核心重要性在于保障数据在复杂、严苛的物理环境与复杂传输路径下的完整性与可靠性。 端到端 ECC 的核心重要性 车规级存储系统面临高振动、宽温域…...

基于Electron-Vue架构的跨平台视觉对比系统MegSpot技术深度解析

基于Electron-Vue架构的跨平台视觉对比系统MegSpot技术深度解析 【免费下载链接】MegSpot MegSpot是一款高效、专业、跨平台的图片&视频对比应用 项目地址: https://gitcode.com/gh_mirrors/me/MegSpot MegSpot作为一款面向研究人员的专业级图片视频对比工具&#x…...

快递包裹检测数据集VOC+YOLO格式2914张6类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):2914标注数量(xml文件个数):2914标注数量(txt文件个数):2914标注类别…...

别再只会console.log了!TypeScript调试中这5个Console方法让你效率翻倍

TypeScript调试进阶:5个被低估的Console方法实战指南 调试是每位开发者日常工作中不可或缺的环节,但大多数TypeScript开发者仅仅停留在使用console.log的初级阶段。当面对复杂对象、异步流程或状态管理时,这种单一的调试方式往往效率低下且难…...

为什么你的`report.Rmd`编译要83秒?——Tidyverse 2.0惰性求值+缓存策略深度拆解

更多请点击: https://intelliparadigm.com 第一章:为什么你的report.Rmd编译要83秒?——性能瓶颈的直觉与真相 R Markdown 报告编译耗时陡增,常被归因于 “数据量变大” 或 “电脑变慢”,但真实瓶颈往往藏在可量化的执…...

搜索引擎原理倒排索引与查询处理

搜索引擎的秘密武器:倒排索引与查询处理 在信息爆炸的时代,搜索引擎如何从海量数据中快速找到用户需要的内容?其核心在于两项关键技术:倒排索引与查询处理。倒排索引是搜索引擎的“目录”,而查询处理则是“智能导航”…...

2026年专精特新“小巨人”申报全攻略(新版标准+流程+避坑)

一、核心政策速览 1、政策依据 工信部〔2026〕2号文件,2026年4月1日起实施新申请按新版标准,复核按旧标准执行 2、三大关键调整 取消省级特色指标,全国统一标准 新增发展质量评价≥60分硬性要求 采用“双随机盲审”,大数据核查实地…...

【第24篇】NL2SQL自然语言提问,AI 自动转换成 SQL 查询数据库,并返回结果

🎯用户用中文提问(比如"本月销售额是多少"),AI 自动转成 SQL 查询数据库,返回结果。这就是 NL2SQL(Natural Language to SQL)。 一、概述 1.1 NL2SQL NL2SQL = Natural Language to SQL 这个项目的核心功能是:用户用自然语言提问,AI 自动转换成 SQL 查询…...

ARM异常处理机制与虚拟化陷阱控制详解

1. ARM异常处理机制概述在ARMv8/v9架构中,异常处理是处理器执行流控制的核心机制。当发生非法指令、特权级违规或硬件错误时,处理器会通过异常向量表跳转到对应的处理程序。异常处理机制的设计直接影响操作系统的稳定性和虚拟化方案的效率。异常处理的核…...

基于Python+PySide6的美术教学资料管理系统设计与实现

关键词:Python;PySide6;教学资料管理;文件归档;SQLite;局域网共享 📖 目录 1 系统概述2 需求分析3 技术架构与运行环境4 系统部署与启动5 功能模块设计6 典型业务流程7 数据安全与多终端协同8 …...

《每日一命令14:df——磁盘空间去哪了?》

本期摘要df 是Linux下查看磁盘空间使用情况的命令。与 du 不同,df 看的是文件系统的整体使用情况,而 du 看的是单个目录/文件的大小。掌握 df -h(人类可读)、df -i(查看inode)、df -T(显示文件系…...

【C# 13不安全代码管控白皮书】:20年微软MVP亲授生产环境零事故落地指南

更多请点击: https://intelliparadigm.com 第一章:C# 13不安全代码管控的演进逻辑与生产必要性 C# 13 对不安全代码(unsafe context)的管控并非简单放宽或收紧,而是围绕内存安全性、互操作性与现代硬件适配三重目标进…...

【仅限首批200名订阅者】:C# OPC UA 2026生产环境诊断工具包(含Wireshark UA解码插件+实时PubSub延迟热力图+异常行为AI检测模型)

更多请点击: https://intelliparadigm.com 第一章:C# OPC UA 2026工业诊断工具包全景概览 C# OPC UA 2026工业诊断工具包是面向智能制造边缘侧与云边协同场景的下一代工业通信诊断平台,基于 OPC Foundation UA Stack v1.04.7 构建&#xff0…...

LRDIMM技术解析:数据中心内存性能优化实践

1. LRDIMM技术背景与核心价值 在数据中心和高性能计算领域,内存子系统一直是制约整体性能的关键瓶颈。传统服务器普遍采用的RDIMM(Registered DIMM)技术,虽然通过寄存器缓冲命令/地址信号提升了内存容量,但数据总线仍直…...

保姆级教程:在Windows上用QT Creator 6.5集成STK12的3D地球控件(附常见错误修复)

保姆级教程:在Windows上用QT Creator 6.5集成STK12的3D地球控件(附常见错误修复) 当你第一次尝试在QT项目中集成STK12的3D地球控件时,可能会遇到各种令人抓狂的问题——从include顺序错误到ActiveX控件注册失败,每一步…...

独立TBOX,才是车载通信绕不开的终极答案

很多人都在唱衰独立TBOX。都说域控大一统、硬件高度集成,独立通信盒子很快就要退出历史舞台。作为深耕车载网联多年的老兵,我反倒有完全不一样的看法。今天只聊个人行业观察,不代表任何车企、供应链立场。也不涉及任何内部技术规划&#xff0…...

HTML5在汽车信息娱乐系统开发中的革命性应用

1. HTML5如何重塑汽车信息娱乐系统开发范式汽车信息娱乐系统(In-Vehicle Infotainment, IVI)正在经历一场由HTML5驱动的技术革命。作为从业十余年的车载系统开发者,我见证了从专用嵌入式系统到如今跨平台架构的演进历程。HTML5的出现&#xf…...

(day4)数据表数值类型

1.整数类型(大家默认用int)今天学了一个限制命令unsigned加上这个之后 就输入值的时候只能输入正数create table shuzhi2( tinyint_tset tinyint unsigned, int_test int unsigned );我这里建了一个名为shuzi2的表,第一列列名为tinyint_test …...

智能广告框架(IAF)架构与实时推荐技术解析

1. 智能广告框架(IAF)的核心架构解析在数字营销领域,如何将冰冷的屏幕转化为能读懂观众需求的智能媒介一直是行业痛点。智能广告框架(IAF)的创新之处在于,它构建了一个从数据采集到实时决策的完整闭环系统。这个系统不是简单播放预设广告,而是…...

用 n8n + AI 搭建专属「AI 情报员」

最近,自动化工作流的概念火遍全网。但现实是: 信息过载:每天几十个公众号、科技媒体、Reddit、Hacker News… 根本看不完手动整理效率低:花 2 小时刷资讯,真正有价值的可能就 5 条付费日报太贵:动辄几百上…...

别再为蓝牙打印头疼了!用uni-app + CPCL指令搞定芝珂/佳博打印机(附完整Demo)

别再为蓝牙打印头疼了!用uni-app CPCL指令搞定芝珂/佳博打印机(附完整Demo) 蓝牙打印在移动开发中一直是个让人又爱又恨的功能。特别是当你需要在uni-app这样的跨平台框架中实现时,各种兼容性问题、连接不稳定、指令格式混乱等问…...

汽车电子技术:自动驾驶域控制器 PCBA 解析

随着自动驾驶技术从L2辅助驾驶向L3/L4高阶自动驾驶演进,汽车电子架构正从传统分布式ECU向域集中式、中央计算式架构转型。自动驾驶域控制器作为整车感知、决策、控制的核心中枢,承担了绝大部分的算力与数据处理任务,而其核心硬件载体——域控…...

ESP32平台RTOS选型:Zephyr与NuttX对比解析

1. ESP32生态下的RTOS新选择:Zephyr与NuttX深度解析 去年调试一个工业传感器项目时,我需要在ESP32上实现毫秒级任务调度。当时ESP-IDF的FreeRTOS虽然稳定,但想尝试更轻量的实时方案。翻遍社区发现Zephyr和NuttX的ESP32支持都处于"能用但…...

AI短剧“表情僵硬”的技术诊断与解决方案——微表情权重、音画同步与情绪TTS实践

在AIGC短剧开发的实践中,“数字人表情不自然”是高频反馈的缺陷之一。从技术角度看,这并非模型精度问题,而是面部动作生成的权重分配与多模态同步的设计缺陷。 以下从三个技术维度进行拆解,并给出可落地的优化方向。 微表情权重矩…...

5分钟在Mac上运行Windows应用:Whisky终极指南

5分钟在Mac上运行Windows应用:Whisky终极指南 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 还在为macOS上无法运行Windows应用而烦恼吗?Whisky为你带来了革…...

流程引擎优化

流程引擎性能优化实战:DAG拓扑排序让复杂流程提速60%,支持百万级并发 文章目录 一、流程引擎面临的性能挑战1.1 业务流程复杂度分析1.2 性能瓶颈定位1.3 优化目标设定二、核心优化策略2.1 算法优化:DAG拓扑排序2.2 并发改造:并行…...

全面掌握MemtestCL:GPU内存检测开源工具深度指南

全面掌握MemtestCL:GPU内存检测开源工具深度指南 【免费下载链接】memtestCL OpenCL memory tester for GPUs 项目地址: https://gitcode.com/gh_mirrors/me/memtestCL MemtestCL是一款基于OpenCL标准的开源GPU内存检测工具,专为各类计算设备提供…...