VS2005上使用ACE

原创 2007年09月26日 17:02:00
昨天在VS2005上编译了ACE,在ACE_Wrappers/lib下面得到了ACE.dll, ACE.lib, ACEd.dll,
ACEd.lib这些文件,环境变量和各种路径应该设置的没问题,编译了一个例子,结果出了很多两种风格的警告(这个程序在linux下面一点问题也没有,甚至没有警告,但现在公司要求要弄到windows上):
(1)
D:/ACE_wrappers/ace/OS_NS_string.inl(110) : warning C4996: 'strcat'
was declared deprecated
     C:/Program Files/Microsoft Visual Studio 8/VC/include
/string.h(78) : see declaration of 'strcat'
     Message: 'This function or variable may be unsafe. Consider using
strcat_s instead. To disable deprecation, use
_CRT_SECURE_NO_DEPRECATE. See online help for details.'
(2)
D:/ACE_wrappers/ace/OS_NS_string.inl(222) : warning C4996: 'strdup'
was declared deprecated
     C:/Program Files/Microsoft Visual Studio 8/VC/include
/string.h(205) : see declaration of 'strdup'
     Message: 'The POSIX name for this item is deprecated. Instead,
use the ISO C++ conformant name: _strdup. See online help for
details.'
经过我google,baidu,group请教,原来这两个警告是无害的。这两个警告都是暗示涉及的函数可能会出现缓冲溢出。2005的编译器比之前的都更加严格,针对缓冲溢出,做了不少改进,2005中的一些函数,如 sprintf都建议使用 sprintf_s一类的来进行缓冲区溢出的保护.这跟ACE中相关的实现有关系,但ACE中并没有处理这些问题。
还遇到一个问题,看见google上很多人遇到过,就是UNICODE和非UNICODE问题,这需要再编译ACE的之前,在config.h中定义:
#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR
并且在主程序中,不能再使用int main(int, char*[])方式,必须使用int ACE_TMAIN(int, ACE_TCHAR*[])。如果一定要使用前者,那么一定要记得在main中调用ACE::init() 和ACE::fini(),否则就会出现一个很莫名其妙的问题。具体的原因可以参考APG中关于宽字符的讲解。

VS2005编译ACE

ACE的安装 ACE的安装是一件比较麻烦的事情,这里简单的记录了我在VS2005下安装ACE的过程,希望能给大家一个参考。 安装环境: 操作系统:Windows...
  • hjmhjms
  • hjmhjms
  • 2007年03月05日 17:13
  • 5233

ACE在windows下的编译及配置(VS2010) [大三四八九月实习]

系统:win7 开发环境:Visual Studio 10 ACE版本:ACE-6.2.0 参考了很多师兄师姐前辈阿姨的博客文章,然后自己安装后作为笔记记录下来。感谢这些经实践验证的、好博客文章...
  • misskissC
  • misskissC
  • 2013年08月06日 16:17
  • 7632

Windows7 64位下VS2012编译与安装 ACE-6.3.3 步骤

今天晚上打算在windows平台上编译安装ACE,特记录此过程,希望与大家共勉. 一、准备工作 windows系统:windows7 64位旗舰版             IDE:Visual ...
  • qing666888
  • qing666888
  • 2016年03月09日 17:37
  • 1726

在vs2005上配置opencv1.0步骤

为了防止每次重装vs2005与opencv时总是寻找配置的方法,将寻找到的方法记录在下面: 1.按照默认的步骤安装opencv. 2.打开电脑属性->高级->环境变量,在系统变量path里加上bi...
  • yuzhongyu1011
  • yuzhongyu1011
  • 2014年03月18日 23:30
  • 829

windows下ACE安装使用教程

ACE是一个跨平台的用于并发通信的C++框架。它提供了丰富的C++封装器和框架组件。使用ACE,开发者可以开发出高性能,实时的通信服务和应用。ACE利用进程间通信,事件分离,动态链接和并发技术简化了面...
  • qq_34233232
  • qq_34233232
  • 2016年09月20日 13:52
  • 677

ACE前台框架的使用心得1—TABLE 表格的使用

1.html页面中定义table 其中的table(grid-table)代表的是表格;id为g...
  • ZJJ_xionghaizi
  • ZJJ_xionghaizi
  • 2016年12月19日 15:18
  • 2260

ACE框架简介以及一个基于ACE的C/S服务程序实例

前段时间参与一个C/S结构的系统的开发,使用C++,其中server端的系统要实现Linux和windows系统的跨平台。因为系统的结构和业务逻辑都不太复杂,所以开始就决定不使用类似ACE或Boost...
  • suxinpingtao51
  • suxinpingtao51
  • 2013年09月18日 11:00
  • 9493

Windows下使用NDK交叉编译ACE 6.2.0

一. 设置NDK交叉编译环境(ARM平台) 可以参考 NDK主目录下的/docs/STANDALONE-TOOLCHAIN.html 1. 运行Cygwin Terminal 2. 生成NDK sta...
  • hcj116
  • hcj116
  • 2014年02月23日 18:13
  • 2601

世界上最好用的纯前端模板【没有之一】,AceTemplate高调亮相。

概述  随着Ajax技术的普及,纯前端模板的使用频率越来越高。我们需要一个易学、易用、高性能的模板系统来处理日益繁杂的需求变化。   前端模板处理,有90%以上的情况都是在处理html相关字符串,针对...
  • zswang
  • zswang
  • 2011年07月04日 00:52
  • 17138

VS2005查找功能没法使用

vs2005编程环境下无法使用查找功能的解决办法: VS2005 在开发过程中,发现Ctrl+F无法打开查找对话框了,点击菜单命令也不好用,不能进行查找替换操作,   解决方法: ...
  • liliangshuai
  • liliangshuai
  • 2014年02月12日 17:13
  • 1179
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS2005上使用ACE
举报原因:
原因补充:

(最多只允许输入30个字)