Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2054504
  • 博文数量: 454
  • 博客积分: 10921
  • 博客等级: 上将
  • 技术积分: 5396
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-15 15:20
个人简介

伪IT男

文章分类

全部博文(454)

文章存档

2016年(2)

2013年(6)

2012年(17)

2011年(29)

2010年(24)

2009年(54)

2008年(53)

2007年(202)

2006年(67)

分类:

2007-09-29 08:30:04

最近使用 VC8 編譯一個 VC6 的 Project ,結果出現如下的 Warning

VC8 編譯出現 warning C4996: 'strcpy' was declared deprecated

最近使用 VC8 編譯一個 VC7 的 Project ,結果出現如下的 Warning

Warning 1 warning C4996: 'strcpy' was declared deprecated d:\20060922\lib\stunt_client_dll_win32\sample.cpp 67

查了 MSDN [1]才發現VC8 對於 CRT 加入許多安全性的函數,將內文節錄如下:

  • 已加入數種函式的安全版本,這些函式會以較佳的方式處理錯誤,並強制執行較嚴格的緩衝控制,以避免發生常見的安全性缺失。新的安全版本可以利用 _s 後置字元加以識別。

  • 現有較不安全的許多函式版本已經被取代,若要停用取代警告,請定義 _CRT_SECURE_NO_DEPRECATE。如需詳細資訊,請參閱 Security-Enhanced Versions of CRT Functions。

    所以,依據上述說明,如果你要讓其他編譯器也能夠編譯該程式,可以定義_CRT_SECURE_NO_DEPRECATE 來抑制警告訊息,或是改用 VC8 新提供的 strcpy_s 函數。

    參考資料:
    [1] ms-help://MS.MSDNQTR.v80.cht/MS.MSDN.v80/MS.VisualStudio.v80.cht/dv_vcedit/html/1a82576b-7f39-48f5-98f3-4679bb9df36c.htm
    [2]

  • 阅读(2856) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~