有没有现代编译器不支持旧标准的例子?

2019-09-08 12:22:10 +08:00
 leoleoasd

如题. 跟同学讨论, 同学坚持认为 vc6.0 上写的代码在 vs2008 以及 vs2019 上无法运行, 我则认为除非微软 sb 否则新编译器肯定支持旧标准. (我二者都没用过)

3996 次点击
所在节点    问与答
31 条回复
optional
2019-09-08 12:27:08 +08:00
xcode 解君愁
doraemon0711
2019-09-08 12:27:58 +08:00
vb6.0
across
2019-09-08 12:30:45 +08:00
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005)
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003)
MSVC++ 7.0 _MSC_VER == 1300
MSVC++ 6.0 _MSC_VER == 1200
MSVC++ 5.0 _MSC_VER == 1100

我没遇到,但是提供的编译宏难道不能兼容?
leoleoasd
2019-09-08 12:32:07 +08:00
@across #3 感谢
leoleoasd
2019-09-08 12:32:20 +08:00
@doraemon0711 #2 vb 是直接变成 vb.net 了吧 2333
misaka19000
2019-09-08 12:37:17 +08:00
有这个时间多写几行代码或者去把把妹
leoleoasd
2019-09-08 12:38:59 +08:00
再补充一点背景, 老师让安装 vc6.0 或 vc2008, 我因此判断我们不会用到 vs2008 比 vc6.0 的特性
同学是用的是 vs2019
所以问题就是 vc6.0 的代码能在 vs2019 上运行吗?vs2019 上写出的仅使用 vc6.0 特性的代码能在老师的 vc6.0 上运行吗?

ps 为啥我的这个帖子没有 append 按钮
feather12315
2019-09-08 12:39:12 +08:00
有可能的。
比如新的编译器默认开启了旧版编译器默认关闭的 option
leoleoasd
2019-09-08 12:39:49 +08:00
@leoleoasd #7 vs2008 比 vc6.0 多的特性
leoleoasd
2019-09-08 12:40:19 +08:00
@feather12315 #8 这是个问题
dlsflh
2019-09-08 12:52:54 +08:00
不都能 hello world 吗?
wdlth
2019-09-08 13:15:44 +08:00
遇到过 VC 2005 有个项目文件在 VS 2012 上不识别,里面有 NT 4.0 什么的,从新项目里面复制一个过去覆盖就可以了。
billlee
2019-09-08 13:17:26 +08:00
VC 6.0 发布的时候还没有 C++ 标准,所以不存在支持旧标准的问题
czkwg8
2019-09-08 13:32:33 +08:00
旧的项目在新的 VS 上要作点调整是比较有可能的
widewing
2019-09-08 13:32:55 +08:00
vc6 可以认为只是 c++的一种方言。不兼容的地方多着呢。
kokutou
2019-09-08 13:39:05 +08:00
正儿八经的 c/c++ 是没问题的。。。

如果是 ++i++++ 这种奇怪的东西。。。那你还是虚拟机装个 win7 装个 vc6.0 吧。学完考试结束一定要把这些忘掉。
tigerfyj
2019-09-08 13:42:59 +08:00
说个题外话,这样的老师不是耽误人吗?浪费时间折腾根本不可能再用到的环境。也不确定学到的东西的兼容性、可持续性。
ruimz
2019-09-08 13:44:53 +08:00
学校老师的古老 ppt 中针对 vc6 的 MFC 代码在 vs 下没法运行
还有老师古老 ppt 里的 8086 汇编代码也不能在 vs 下运行
leoleoasd
2019-09-08 14:20:12 +08:00
@tigerfyj #17 是的🌚我就坚定的用 clang🌚
leoleoasd
2019-09-08 14:20:37 +08:00
@ruimz #18 这门课是将 c 语法的 大一的入门的课 应该是不会涉及这些内容的吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/598991

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX