Thread: The OpenWatcom integrated development environment

  1. #1
    Registered User
    Join Date
    Jul 2009
    Posts
    2

    The OpenWatcom integrated development environment

    I can really recommend it for Win32 development.

    Though I am unsure as to whether it complies with the latest C standards it is fairly current and, in my experience, produces code which is faster than Visual C 6 which I also use.

    As I like writing really, really fast programs I use the "#pragma aux" directive which allows me to specify assembly functions which the compiler will then seamlessly embed inline without affecting the surrounding optimizations. It is vastly superior to the _asm construct (which is also available).

    So why would anyone write anything in asssembly these days? For one thing x86 has block move and block set (movs/stos) instructions which execute faster than the standard memcpy/memset functions. In addition, as the code is inlined, wasteful call/prologue/epilogue/rets are avoided and the cache has less work to do. Another plus is wriiting 64-bit multiply/divide by 32-bit. The internal 64-bit counter may also be read in this manner and it is invaluable for determining execution times for code sequences.

    Additionally the debugger is good, solid and easy to use.

    The OpenWatcom tools may be found att Main Page - Open Watcom
    Last edited by oforshell; 07-19-2009 at 02:10 AM. Reason: corrected spelling

  2. #2
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    And you realize that Visual C 6 is a few decades old?

    GCC supports inline assembly, too.

  3. #3
    Registered User
    Join Date
    Jul 2009
    Posts
    2
    Quote Originally Posted by cyberfish View Post
    And you realize that Visual C 6 is a few decades old?.
    I think it is maybe ten or twelve years old so I guess "a few" decades means "about one."

    So what? Lots of applications written in VC6 are being corrected and recompiled in VC6 and sometimes even new functionality is added and compiled in VC6. VC6 is relatively nimble compared to later VC realeases.

    Lots of compilers fall victim to the "tick-box hysteria" i e adding half-hearted additions that competitors have so that system achitects can claim they've chosen the "the most comprehensive development environment." The OC IDE requires 60-70 MB, a bit more if the Fortran compiler is required. VC6, on the other hand, required one main plus several supplemental CDs. What does the latest VC IDE require, several DVDs?

    In my experience, newer is not always better and often it is slower and more cumbersome.

    Quote Originally Posted by cyberfish View Post
    GCC supports inline assembly, too.
    As I recall gcc relaxes optimizations immediately before and after the inline code which is not the same as integrating the inline code seamlessly into surrounding optimizations (as OC does).

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by oforshell
    Though I am unsure as to whether it complies with the latest C standards it is fairly current and, in my experience, produces code which is faster than Visual C 6 which I also use.
    It appears that the relevant wiki page is C99 Compliance. There is also a page where other articles on C++ Standard conformance is listed.

    Quote Originally Posted by oforshell
    So what? Lots of applications written in VC6 are being corrected and recompiled in VC6 and sometimes even new functionality is added and compiled in VC6. VC6 is relatively nimble compared to later VC realeases.
    I think that that is fine insofar as being tied to VC6 is acceptable, or at least if you are willing to implement workarounds such that the code will also compile on other compilers that conform better to the standards. This is probably less of a problem for C than it is for C++, but considering that OpenWatcom is aiming directly for C++0x conformance, I wonder if the issues will be harder and harder to work around. (But of course this would not matter if C++ is not used.)
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  5. #5
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    in my experience, produces code which is faster than Visual C 6 which I also use
    So what? Lots of applications written in VC6 are being corrected and recompiled in VC6 and sometimes even new functionality is added and compiled in VC6. VC6 is relatively nimble compared to later VC realeases.
    I pointed that out because you were comparing it to VC6, and optimization capabilities have certainly improved since then.

  6. #6
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by oforshell View Post
    I think it is maybe ten or twelve years old so I guess "a few" decades means "about one."

    So what? Lots of applications written in VC6 are being corrected and recompiled in VC6 and sometimes even new functionality is added and compiled in VC6. VC6 is relatively nimble compared to later VC realeases.

    Lots of compilers fall victim to the "tick-box hysteria" i e adding half-hearted additions that competitors have so that system achitects can claim they've chosen the "the most comprehensive development environment." The OC IDE requires 60-70 MB, a bit more if the Fortran compiler is required. VC6, on the other hand, required one main plus several supplemental CDs. What does the latest VC IDE require, several DVDs?

    In my experience, newer is not always better and often it is slower and more cumbersome.



    As I recall gcc relaxes optimizations immediately before and after the inline code which is not the same as integrating the inline code seamlessly into surrounding optimizations (as OC does).
    Comparing anything new to VC6 is like comparing apples with oranges.
    Try comparing it with Visual Studio 2008, for example.
    Yes, it may be big, but that's not what you're comparing, is it? You are comparing performance which I can certainly say that Visual Studio is no slouch there.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. (VC++ related) Unicode or Multi-byte environment?
    By PaulBlay in forum C Programming
    Replies: 3
    Last Post: 05-22-2009, 08:42 AM
  2. SSH Secure Shell to Microsoft Development Environment
    By s_jsstevens in forum C Programming
    Replies: 2
    Last Post: 05-08-2007, 02:38 PM
  3. Draw distance through environment mapping
    By VirtualAce in forum Game Programming
    Replies: 1
    Last Post: 05-14-2006, 11:52 AM
  4. Planned Development Community Idea (important)
    By cozman in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 06-12-2002, 12:13 PM