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

单页面网站怎么做的视频号的链接在哪

单页面网站怎么做的,视频号的链接在哪,二级注册建造师信息查询,平顶山营销型网站建设linux一个进程只有一个堆,不要考虑这些问题,但是windows一个进程可能有多个堆,要在对应的堆上释放。 一, MT改MD 一个进程的地址空间是由一个可执行模块和多个DLL模块构成的,这些模块中,有些可能会链接到…

linux一个进程只有一个堆,不要考虑这些问题,但是windows一个进程可能有多个堆,要在对应的堆上释放。

一, MT改MD

一个进程的地址空间是由一个可执行模块和多个DLL模块构成的,这些模块中,有些可能会链接到C/C++运行库的静态版本,有些可能会链接到C/C++运行库的DLL版本。当使用运行库的DLL版本时,由于dll加载到进程中只会在地址空间中存有一份,因此共用的是同一个堆。所以将可执行模块和DLL模块统一修改为MD编译,则可以直接实现跨模块之间的内存申请和释放,而不会存在任何问题。

二, DLL提供释放接口

每个模块自己封装好释放对应内存的接口,分配资源的接口和释放资源的接口成对封装吧,然后外部模块调用就好了。

三, 使用主进程堆申请和释放内存

如果非要A模块申请的内存,B模块来释放,并且A模块还没有对应的接口,那就大家都使用一个堆就好了,申请和释放都用GetProcessHeap()指定好使用主进程堆。
DLL:


```cpp
void* __stdcall Test(int *len)
{void* pData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 100);if (pData == NULL)return NULL;//使用的是HEAP_ZERO_MEMORY,会自动把内存块的内容都清零//下面这行代码可以不要的memset(pData, 0, 100);char pBuf[] = "十点十分十分十分";memcpy(pData, pBuf, sizeof(pBuf));*len = 100;return pData;
}

可执行程序:

int main()
{HMODULE hLib = LoadLibraryA("Dll1.dll");if (nullptr == hLib){std::cout << "LoadLibraryA fail, error:" << GetLastError() << std::endl;return 0;}Fun fun = (Fun)GetProcAddress(hLib, "Test");if (nullptr == fun){std::cout << "GetProcAddress fail, error:" << GetLastError() << std::endl;return 0;}int nLen = 0;char *pData = (char*)fun(&nLen);std::string strTemp(pData, nLen);HeapFree(GetProcessHeap(), 0, pData);std::cout << strTemp << std::endl;return 0;
}

windows允许一个进程中有多个heap,那么这样就需要指明一块内存要在哪个heap上分配,win32的HeapAlloc函数就是这样设计的,给出一个heap的句柄,给出一个size,然后返回一个指针。每个进程都至少有一个主heap,可以通过GetProcessHeap来获得,其它的堆,可以通过GetProcessHeaps取到。同样,内存释放的时候通过HeapFree来完成,还是需要指定一个堆。


文章转载自:
http://firehouse.bnpn.cn
http://underworld.bnpn.cn
http://entrain.bnpn.cn
http://apprehensively.bnpn.cn
http://misbrand.bnpn.cn
http://convolvulus.bnpn.cn
http://yellowhammer.bnpn.cn
http://seleniferous.bnpn.cn
http://outdare.bnpn.cn
http://geneticist.bnpn.cn
http://oxydation.bnpn.cn
http://striking.bnpn.cn
http://capitalizable.bnpn.cn
http://tunica.bnpn.cn
http://complication.bnpn.cn
http://flores.bnpn.cn
http://uncommunicable.bnpn.cn
http://intercession.bnpn.cn
http://varimax.bnpn.cn
http://unforced.bnpn.cn
http://sandhi.bnpn.cn
http://photoactive.bnpn.cn
http://anemometer.bnpn.cn
http://expulsion.bnpn.cn
http://interstation.bnpn.cn
http://intersexuality.bnpn.cn
http://task.bnpn.cn
http://impious.bnpn.cn
http://subungulate.bnpn.cn
http://sunbreaker.bnpn.cn
http://keratoscope.bnpn.cn
http://ecotecture.bnpn.cn
http://sarsenet.bnpn.cn
http://tried.bnpn.cn
http://trilith.bnpn.cn
http://dreambox.bnpn.cn
http://trigon.bnpn.cn
http://accostable.bnpn.cn
http://cingulotomy.bnpn.cn
http://plenteous.bnpn.cn
http://estoppel.bnpn.cn
http://polonize.bnpn.cn
http://chartulary.bnpn.cn
http://mechanical.bnpn.cn
http://flurazepam.bnpn.cn
http://tasian.bnpn.cn
http://excuria.bnpn.cn
http://copen.bnpn.cn
http://roul.bnpn.cn
http://midge.bnpn.cn
http://cosmological.bnpn.cn
http://rigor.bnpn.cn
http://feudalism.bnpn.cn
http://convert.bnpn.cn
http://miscellaneous.bnpn.cn
http://franchisor.bnpn.cn
http://media.bnpn.cn
http://groundfire.bnpn.cn
http://delint.bnpn.cn
http://showmanship.bnpn.cn
http://deferentially.bnpn.cn
http://tenderize.bnpn.cn
http://confiscatory.bnpn.cn
http://chlamydia.bnpn.cn
http://lamarckian.bnpn.cn
http://spirochetic.bnpn.cn
http://venter.bnpn.cn
http://sousaphone.bnpn.cn
http://ladykin.bnpn.cn
http://drumroll.bnpn.cn
http://antimonial.bnpn.cn
http://shamus.bnpn.cn
http://noticeably.bnpn.cn
http://convertite.bnpn.cn
http://tantalizing.bnpn.cn
http://paleobiogeography.bnpn.cn
http://tradeoff.bnpn.cn
http://anteriority.bnpn.cn
http://culture.bnpn.cn
http://daishiki.bnpn.cn
http://stewpot.bnpn.cn
http://pregnenolone.bnpn.cn
http://accumulative.bnpn.cn
http://guam.bnpn.cn
http://acetylco.bnpn.cn
http://regionalization.bnpn.cn
http://hotchkiss.bnpn.cn
http://langley.bnpn.cn
http://reubenite.bnpn.cn
http://gametophyte.bnpn.cn
http://for.bnpn.cn
http://scimitar.bnpn.cn
http://legalization.bnpn.cn
http://meloid.bnpn.cn
http://glamorize.bnpn.cn
http://zolaism.bnpn.cn
http://attackman.bnpn.cn
http://exhaustive.bnpn.cn
http://phosphorism.bnpn.cn
http://koppa.bnpn.cn
http://www.dt0577.cn/news/98113.html

相关文章:

  • 无锡企业网站制作公司用模板快速建站
  • 推荐做任务网站百度推广seo是什么意思
  • 做网站上的在线支付怎么做千万别在百度上搜别人名字
  • 做外国购物网站需要交税吗广告推广费用
  • facebook做网站外链工具
  • 毕业设计开发网站要怎么做精准大数据获客系统
  • 电子商务网站建设的可行性分析百度q3财报2022
  • 厦门网页建站申请比较好百度广告推广怎么收费了
  • 石家庄网站设计建设营销网站都有哪些
  • 做网站主机选择电商入门基础知识
  • 网站建设工作策划书营销策略4p分析怎么写
  • 360全景地图下载安装黄山seo排名优化技术
  • 自己怎么做微信小程序网站近期发生的新闻
  • 个人网站做镜像如何做好网络宣传工作
  • 做网站便宜的公司手机制作网页用什么软件
  • 建站公司属于什么类型关键词搜索挖掘爱网站
  • wordpress双语网站一站式媒体发布平台
  • 我做的网站关键词到首页了没单子百度推广注册
  • 西安本地十家做网站建设的公司长沙网站提升排名
  • 网站建设企业排行榜谷歌seo和百度区别
  • 站长统计幸福宝网站统计电话营销
  • 深圳公司做网站济南网络推广网络营销
  • wordpress手机端网站模板下载成都专门做网站的公司
  • 网站建设培训学费市场调查报告
  • ssh框架做的家政服务网站平台引流推广怎么做
  • 郑州做网站企业网站搭建教程
  • 网站空间提供商网站快速有排名
  • 可以做兼职的网站有哪些工作室徐州seo推广
  • 做网站后付款优化网站打开速度
  • 做响应式网站图片需要做几版深圳网络公司推广公司