Nub*_*bok 9 c c++ compiler-construction watcom
因为在StackOverflow的一些帖子中,如果可行的话,建议尝试支持多个(在这种情况下是C/C++)编译器,因为这会强制您编写更符合标准的代码并帮助查找错误.
所以我一直在寻找额外的免费C/C++编译器,我可以为我的项目添加支持(它是用C/C++编写的(两种语言相结合)).我发现Open Watcom是一个有趣的候选人.
所以我的问题是:Open Watcom C/C++编译器与其他编译器相比有哪些优点和缺点(例如gcc/g ++,Visual C++等)?
可能没有特别的优势,因为如果您的目标是便携式代码,通常会尝试将代码限制为所有编译器实现的标准子集.我会说最低的共同点,但这似乎有点贬义.
一个编译器优于另一个编译器的优点通常在于它提供的扩展,它包含的库或生成的代码的性能,如果可移植性是你的目标,你可能既不感兴趣.在这种情况下,您应该感兴趣的不是一个编译器优于另一个编译器的优点,而是它遵守ISO标准.
在其早期的商业化身中,Watcom是着名的最佳优化编译器之一; 然而,我怀疑它是否跟上了处理器开发的步伐(或者甚至是16位到32位x86的转换!).
它的一个特性在某些情况下可能被视为优势,它支持DOS,OS/2和Windows,但如果遗留系统维护是您的目标,那么这可能只是一个优势.将其移植到Linux和BSD以及x86以外的处理器的努力已经存在但尚未完成,而GCC已经存在并已存在多年.
我建议如果你可以支持GCC和VC++你可能有足够的编译器独立性(但建议你使用高警告级别设置进行编译(-Wall -Werror在GCC和\W4 \WxVC++中).我认为与OS可移植性相比,编译器可移植性是一个微不足道的问题,并且您真正需要考虑的是跨平台库支持而不是编译器独立代码支持.
但是,如果你喜欢使用编译器,也可以考虑使用Digital Mars编译器.与Watcom一样,它也具有商业编译器的传统,在以前的生活中一直是Zortech/Symantec C/C++编译器.
如果您的'haxxor'是您可以使用的普通调用约定定义的事实,那么watcom赞成#pragma aux.除此之外,我认为没有理由甚至尝试使用这种过时的编译器,除非你有可怕的硬件限制.Imo,只有3个担心,GCC,ICC和MSVC
这里的一些人使用与Watcom(实际上是OpenWatcom)编译器"约会"有关的表达式.那是什么意思呢?
现在它做了什么 - 除了支持16位真实和保护模式代码:
你如何"感觉"一个编译器?我一个人不知道该怎么做.这是错误消息的写法吗?它是在控制台日志中的消息中吗?
世界上最强大的网络操作系统 - Novell Netware - 将Watcom作为其开发环境.关于Watcom的说法很多.并且任何人都会忘记:Netware因糟糕的营销管理以及雷德蒙德犯规而死亡.它并非因缺乏技术卓越而死亡.
我想我想说的是,那些不知道你在说什么的人应该不那么急于写答案.
我知道我知道这一切都是为了获得那些令人垂涎的积分和徽章以及你有什么.而你如何得到它们是无关紧要的,对吧?
| 归档时间: |
|
| 查看次数: |
8541 次 |
| 最近记录: |