首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Open Watcom的优缺点

Open Watcom的优缺点
EN

Stack Overflow用户
提问于 2010-12-24 00:32:24
回答 6查看 9.6K关注 0票数 9

因为在StackOverflow上的一些帖子中,建议在可行的情况下尝试支持多个(在本例中是C/C++)编译器,因为这会迫使你编写更符合标准的代码,并有助于查找错误。

因此,我正在寻找其他免费的C/C++编译器,我可以在我的项目中添加对它的支持(它是用C/C++ (两种语言的组合)编写的)。我发现Open Watcom是一个有趣的候选者。

所以我的问题是: Open Watcom C/C++编译器与其他编译器(例如,gcc/g++,Visual C++等)相比有哪些优点和缺点?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-12-24 01:18:09

这可能没有什么特别的好处,因为如果您的目标是可移植代码,那么您通常会尝试将代码限制为所有编译器实现的标准子集。我会说最小公分母,但这看起来有点贬义。

一种编译器相对于另一种编译器的优势通常在于它提供的扩展,它包含的库,或者生成代码的性能,如果您的目标是可移植性,那么您可能对这两者都不感兴趣。在这种情况下,您应该感兴趣的不是一个编译器相对于另一个编译器的优势,而是它对ISO标准的坚持和遵守。

在其早期的商业化身中,Watcom是著名的可用的最好的优化编译器之一;然而,我怀疑从那时起它是否跟上了处理器的发展(甚至是从16位到32位x86的过渡!)。

它的一个在某些情况下可能被视为优势的特性是它支持DOS、OS/2和Windows,但如果你的目标是维护遗留系统,这可能只是一个优势。将其移植到Linux、BSD和x86以外的处理器上的努力已经存在,但还没有完成,而GCC已经在那里工作了很多年了。

我建议,如果你能支持GCC和VC++,你可能有足够的编译器独立性(但建议你使用高警告级别设置进行编译(在GCC中为-Wall -Werror,在VC++中为\W4 \Wx )。我认为,与操作系统可移植性相比,编译器可移植性是一个微不足道的问题,您真正需要考虑的是跨平台库支持,而不是独立于编译器的代码支持。

但是,如果您喜欢使用编译器,也可以考虑Digital Mars编译器。像Watcom一样,它也有商业编译器的传统,以前是Zortech/Symantec C/C++编译器。

票数 7
EN

Stack Overflow用户

发布于 2010-12-24 02:33:49

如果你的“haxxor”是指你可以使用#pragma aux定义非常规的调用约定,那么watcom就会支持这一点。除此之外,我认为甚至没有理由尝试使用这样一个过时的编译器,除非你有可怕的硬件限制。国际海事组织,只需担心3人,,GCC,ICC,MSVC

票数 5
EN

Stack Overflow用户

发布于 2012-05-23 03:15:12

这里的一些人使用与Watcom (实际上是OpenWatcom)编译器“过时”有关的表达式。那么这意味着什么呢?

  • 它可能意味着它没有实现最新的C标准。有多少“未过时”的编译器呢?
  • 这可能意味着它不提供框架,因为它主要是C和ForTran的环境,在那之后的某个地方出现了一个我无法判断的C++实现。
  • 它可能意味着它不能从垃圾C代码生成优秀的汇编代码。
  • 它可能意味着它不支持x64 many可能意味着调试器是初级的,并且支持程序集调试。

现在来看看它做了什么--除了支持16位实数和保护模式代码:

它在扁平内存模型中生成优秀的32位保护模式代码,每个人都使用它作为environment.

  • Its的Win32。

的代码生成功能非常出色,而且它位于最前面,有更多“未过期”的compilers.

  • It's,使用它的探查器可以轻松地调优多线程代码。

你对编译器有什么“感觉”?就我而言,我不知道该怎么做。这是错误消息的编写方式吗?是否在控制台日志的消息中?

世界上最伟大的网络操作系统Novell Netware使用Watcom作为其开发环境。这在很大程度上说明了Watcom。别忘了: Netware的死亡是由于糟糕的营销管理和雷蒙德的违规行为。它并没有因为缺乏技术上的卓越而消亡。

我想我想说的是,你们这些不知道自己在说什么的人,也许应该少一点渴望写出答案。

我知道我知道这一切都是为了得到那些梦寐以求的分数和徽章以及你所拥有的一切。你如何得到它们是无关紧要的,对吧?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4520624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档