最近打算使用Google CTemplate作为模板引擎,但是运行其主页上的例子居然出现了错误。程序运行的结果正常,但是在退出时导致了_CrtIsValidHeapPointer异常,主要是释放string变量时出现了错误。搜索了一下Google CTemplate的讨论组,说如果编译库文件所使用的CRT版本和编译程序所使用的CRT版本不一致会导致这个问题。DLL库采用的CRT是多线程DLL方式的,所以应用程序也必须使用这个方式,这就需要在应用程序的工程选项中将CRT由默认的单线程方式改为多线程DLL方式。如下图所示。

不过这有时不太方便,也可以把CTemplate所需要的文件直接加到工程中,好在文件不多:

  • src\base\arena.cc
  • src\htmlparser\htmlparser.cc
  • src\htmlparser\jsparser.cc
  • src\windows\port.cc
  • src\htmlparser\statemachine.cc
  • src\template.cc
  • src\template_dictionary.cc
  • src\template_from_string.cc
  • src\template_modifiers.cc
  • src\template_namelist.cc
  • src\template_pathops.cc

记得在这些文件的编译属性中选择“不使用预编译头”,否则会出现编译错误。

 2008年8月31日:以上介绍的是0.90版本,在0.91版本中src\template_from_string.cc 文件不存在了。

 2008年9月15日:采用上面介绍的方法有个缺陷,就是会出现很多编译和链接的警告C4251和LNK4049、LNK4071。这主要是因为在CTemplate的代码中,定义了:

Code
#ifndef CTEMPLATE_DLL_DECL
# define CTEMPLATE_DLL_DECL  __declspec(dllimport)
#endif

所以需要在编译的命令行加上“/D CTEMPLATE_DLL_DECL=”。

转载于:https://www.cnblogs.com/zealsoft/archive/2008/08/29/1279652.html

运行Google CTemplate首页的例子遇到_CrtIsValidHeapPointer异常相关推荐

  1. TensorFlow版的“Hello World”,运行官网第一个例子

    TensorFlow版的"Hello World",运行官网第一个例子.代码如下: #!/usr/bin/env python import os import tensorflo ...

  2. 不能以根用户身份运行 Google Chrome 浏览器

    在fedora12中安装了chrome浏览器,但是一运行出现以下提示: 不能以根用户身份运行 Google Chrome 浏览器.请以普通用户身份启动"Google Chrome 浏览器&q ...

  3. aws lambda_它会融合吗? 或如何在AWS Lambda中运行Google Chrome

    aws lambda Yes, you read that right: this article is about running Google Chrome (the browser) in AW ...

  4. 从谷歌(Google)首页变化看互联网十三年风云

    中国有句成语,叫"察言观色",意为通过观察别人脸色以揣摩其心意.同样的,我们可以通过观察一个公司的门面,来考察这个公司的运作.今天,谷歌众包论坛就与大家一起品味一下互联网巨人Goo ...

  5. 要想文章上Google搜索引擎首页,SEO 要做好下面7个点优化

    当Google SEO 除了关键字分析,还学会语意判读,你该如何花最少的力气抢占关键字首页?接着,我们会从过往撰写SEO 文章的经验中,汇整出一套SEO 文章的撰写步骤,并且在讲解步骤之前会先一一拆解 ...

  6. 运行google play闪退的解决办法

    运行google play失败,是因为大多国产机器把谷歌服务框架即(GooglePlayservices)删除了,安装后,运行google play 即可 GooglePlayservices.apk ...

  7. 在Tomcat 6下运行正常,但是在Tomcat 7下异常。

    Struts 2的jsp(155, 69) Attribute qualified names must be unique within an element 环境如下: OS:RHEL 5.2 W ...

  8. Ubuntu 上 Mediapipe 运行Hello World! on Android例子

    参考大佬的文章: https://blog.csdn.net/gong0585/article/details/123292622 我本来是借助Android Studio 安装 Android sd ...

  9. Web 标准实践系列(一)——Google 的首页

    今天我们来学习用 Web 标准的方法来制作 Google 首页(中文).Google 首页一直是用 table 布局的.我们把 Google 首页用 PrtScr 截屏,作为制作时的设计稿参考,并且不 ...

最新文章

  1. 用IComparable和IComparableT接口实现两个类对象的比较大小.
  2. Hive远程模式安装(1.00)
  3. Matlab——数值计算——单个代数方程 代数方程组
  4. Visual C++——LoadBitmap加载位图的操作过程
  5. 1.6编程基础之一维数组_09向量点积计算
  6. Cocos2d-x中常用宏的作用
  7. OJ1077: 字符串加密(C语言)
  8. 请详细描述listview与gridview的异同点_专利和著作权有什么异同点,听听专业人士怎么说...
  9. 关于timer产生的pwm寄存器arr,ccr,psc分析
  10. 漫谈程序员系列:看看你离优秀有多远
  11. 服务器怎么分盘?Windows系统服务器分盘操作方法
  12. [基础库Numpy] 技能树总结:一篇文章学会Numpy库
  13. matlab实现图形几何变换如平移,matlab实现平面图形的几何变换
  14. 基于jwt的token验证、原理及流程
  15. 基于Springboot+mysql的闲置二手交易网站系统设计
  16. [51Nod 1920] 空间统计学
  17. uniapp热更新(wgt)
  18. 一文告诉你全世界最顶级的开发者都在使用什么数据库
  19. 中字头碳资产管理公司注册碳中和承诺单位申请要求
  20. 遁迹-如何找寻图像在styleGAN2对应的latent code潜向量

热门文章

  1. Linux权限管理 - 特殊权限之文件特殊权限
  2. html调用applet
  3. unity3d中获得物体的size
  4. restful 学习地址
  5. zen-cart首页能否在中间栏显示“所有商品”?
  6. 如何使用Axure高效完成高保真原型
  7. 【产品分析】做儿童应用产品会遇到的的七个难题
  8. 【干货】2015,后微信时代的社交产品市场展望
  9. LeetCode40.组合总和|| JavaScript
  10. 忘记Oracle中System和Sys密码的解决办法