MSVC Compiler Support

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

nute
Posts: 251
Joined: Tue Aug 29, 2006 1:30 am

MSVC Compiler Support

Post by nute » Mon Feb 15, 2010 8:39 am

MOD EDIT: Split off from another thread.

Geez Haos, I think you are being a bit of an elitist and a snob suggesting that the bugs in ReactOS exist because of GCC.
Worship MSVC if you must, but need I remind you that it is closed source and at the very least imperfect? Any program
as complex as a compiler, especially a closed source one, is going to have a lot of bugs. If ReactOS requires MSVC to
compile, I will want nothing to do with it. If the developers intend to do that, they should de GPL ReactOS and give
it to Microsoft to fix.

sebastiaan
Posts: 6
Joined: Mon Feb 28, 2005 3:45 pm
Location: Enschede, The Netherlands

Re: 0.3.12 ... versions ...

Post by sebastiaan » Mon Feb 15, 2010 11:59 am

Nute, I think the issue is not that GCC is buggy which requires lots of hacks to make ReactOS compilable.

The point Haos is reffering to, is that WinDBG requires MSVC compiled binaries (and PDB's) to fully utilize its power. So without ReactOS being compiled with MSVC, WinDBG working doesn't have any impact.

Haos
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am
Contact:

Re: 0.3.12 ... versions ...

Post by Haos » Mon Feb 15, 2010 12:52 pm

nute wrote:Geez Haos, I think you are being a bit of an elitist and a snob suggesting that the bugs in ReactOS exist because of GCC.
They do. See bugzilla. Why do you think we spent so much time on GCC 3.4.5 and last years on 4.1.3, despite version 4.4.x being released? Do you know that we opened several gcc/mingw bugs in their trackers? Do you know what part of them was fixed and what we had to hack around? Do you have any idea why we limit ourselves to C, while limiting C++ and how g++ being complete crap impacts that? You are completely detached from this project, so please try to understand my pov before actually judging me. MSVC will allow us to use PDB within WinDBG, providing with us with out-of-the-box symbol debugging. As you probably haven't yet seen it: here is the link http://www.reactos.org/pipermail/ros-de ... t-0001.png for 64bit kernel from Timo's branch. To attain something remotely this level with GCC and GDB, we`d require a code rewrite to support DWARF.
nute wrote:Worship MSVC if you must, but need I remind you that it is closed source and at the very least imperfect?
Suprise, in MSVC, you dont have to hack away/rewrite half of the code before switching to new version. In GCC, we always had a major issue with upgrading to new version, with months of work and numerous changes in place. In two last cases (than happened since my joining) every such change meant cutting away backward compatibility, which is always very nasty process. With MSVC, there are no such problems.
What is important, MSVC is a native Win32 compiler. GCC is not, whereas MingW is just a port of *nix software. GCC doesn't care at all for Win32 binaries and features, we obviously require. Want a proof? KJK had to implement SEH himself, because GCC didnt want to touch it. Even now, when it is fine and working, they don't want to use it, with MinGW pushing their own, less correct and way more hacky implementation. Why should we care for someone who does not care for us?
nute wrote:Any program as complex as a compiler, especially a closed source one, is going to have a lot of bugs.
Great. We all know that opensource software is bugless. Wait.... Its not? Did you use MSVC yourself or you just repeating someone else's opinions?
nute wrote:If ReactOS requires MSVC to compile, I will want nothing to do with it.
Unfortunately, we will continue supporting BOTH compilers. You are free to leave if this step offends you.
nute wrote:If the developers intend to do that, they should de GPL ReactOS and give it to Microsoft to fix.
Please re-read GPL license conditions. It has nothing to do with compiler used. You can create open-source applications on closed-source compilers.

JPLR
Posts: 80
Joined: Tue Oct 14, 2008 4:58 pm

Re: Against MSVC Compiler Support

Post by JPLR » Mon Feb 15, 2010 2:46 pm

GCC killed compiler innovation and market by offering a "good enough" free C compiler.
It's a mess of hand coded stuff (at least in the front end) where it's known since more than 30 years how to create compiler code by writing specifications in Yacc and Lex.
There is a renewal of interest in scientist in compiler theory and some OS groups talk to drop GCC (for example OpenBSD which would prefer PCC while FreeBSD talk about using Clang which offers nice features to detect bugs and would enable a move toward quality assurance).

Haos
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am
Contact:

Re: MSVC Compiler Support

Post by Haos » Mon Feb 15, 2010 3:30 pm

The problem is not imaginary. Even Apple prefers LLVM than GCC.

Sof_T
Posts: 140
Joined: Fri May 01, 2009 4:46 pm

Re: MSVC Compiler Support

Post by Sof_T » Mon Feb 15, 2010 4:09 pm

nute wrote: Geez Haos, I think you are being a bit of an elitist and a snob suggesting that the bugs in ReactOS exist because of GCC.
At no point does Haos say ALL the bugs are due to using GCC, but clearly indicates that using MSVC will create advantages and will remove some bugs. By taking this point of view you are guilty of the Elitism and Snobbery that you accuse others of and that attitude does more harm than good for the Open Source movement.
nute wrote:Worship MSVC if you must, but need I remind you that it is closed source and at the very least imperfect? Any program
as complex as a compiler, especially a closed source one, is going to have a lot of bugs.
In your next breath you are saying that a compiler is going to have a lot of bugs since it is a complex program. By means of this argument you support the idea that GCC has bugs since it is a) a compiler and b) a complex program.
nute wrote:If ReactOS requires MSVC to compile, I will want nothing to do with it
If that means you will abandon these forums, then I shall be glad when MSVC support is completed. You continue to show total ignorance as to the goals and complexity of this project. You repeatedly ignore what other people tell you in order to keep trolling these forums. Now you display a complete lack of understanding of the meaning of Open Source and GPL, while using this as an opportunity to insult someone else.

hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto » Mon Feb 15, 2010 4:28 pm

Hi,
nute wrote: Geez Haos, I think you are being a bit of an elitist and a snob suggesting that the bugs in ReactOS exist because of GCC.
Here is an example of a GCC bug. 99.99% of bugs are ReactOS' own, of course :)
Haos wrote: The problem is not imaginary. Even Apple prefers LLVM than GCC.
I believe the problem is exaggerated. I used GCC 4.2, 4.3, 4.4, 4.5 for a long time to build ReactOS, with minor nuisances but without serious problems.

New GCCs (and other compilers: MSVC and LLVM) allowed to find hidden bugs in ReactOS. LLVM has recently fixed a major bug, so I will try it again.
Sof_T wrote: You continue to show total ignorance as to the goals and complexity of this project. You repeatedly ignore what other people tell you in order to keep trolling these forums. Now you display a complete lack of understanding of the meaning of Open Source and GPL, while using this as an opportunity to insult someone else.
Please be more polite, too.

nute
Posts: 251
Joined: Tue Aug 29, 2006 1:30 am

Re: MSVC Compiler Support

Post by nute » Tue Feb 16, 2010 6:43 am

Fixing GCC or another open source compiler makes more sense than porting ReactOS to MSVC.

An open source project that has to be compiled with a proprietary compiler is of no value to
anyone, period.

The GPL is probably inappropriate for this project going forward if people are going to have to
use a proprietary compiler to build the OS.

The GPL should require the use of an open source compiler to develop the software.

Why should someone purchase MSVC to compile ReactOS when they can just get WIndows 7
for potentially less? Microsoft hands MSVC out to students for free, but I'm sure the most
functional releases used by businesses are not free.

I'm tired of the argument that GCC is not adequate. GCC is open source, nothing is hidden
and nothing is stopping anyone from fixing a bug or adding a feature.

nute
Posts: 251
Joined: Tue Aug 29, 2006 1:30 am

Re: MSVC Compiler Support

Post by nute » Tue Feb 16, 2010 7:19 am

http://c2.com/cgi/wiki?VisualCppVersusGcc

There seems to be an environment of opinion that using MSVC which belongs to Microsoft is essential to advance ReactOS.

I agree with the opinion that making your code depend on MSVC rewards Microsoft's bad behavior. I also question whether
or not MSVC is a true C/C++ compiler. GCC as I understand it is far more standards compliant than MSVC. I am studying
at a University that is standardized on GCC, so I don't buy the opinions of some that it is a crappy compiler.

Maybe GCC isn't like MSVC because SEH is a bad idea. Windows NT is not a new operating system, yet Microsoft has released
many new versions of it that are supposedly, "better." than everything that came before. One thing for sure is that computers
get faster with more storage and more memory that the current version of WIndows happily wastes.

Ged
Developer
Posts: 925
Joined: Thu Sep 29, 2005 3:00 pm
Location: UK

Re: MSVC Compiler Support

Post by Ged » Tue Feb 16, 2010 10:34 am

nute, why do you insist on arguing about topics you know little about?
Most of what you wrote in your previous 2 posts was wrong

MSVC support is coming and it'll be a momentous day when it does.
I can't wait to throw GCC away and move to a real windows development environment. GCC and its accociated tools are a terrible environment for Windows developers to work with.
MSVC support doesn't only bring with it a much improved compiler, it brings a better linker, a better resource compiler and a better assembler (with an improved syntax IMO)

This isn't the main reason though, we're aiming for MSVC support for 1 main thing, PDB's.
With PDB's we open ourselves up to a vast range of tools. The #1 being WinDbg. Using WinDbg will speed up development by 20 times in my opinion.
Secondly, we can take advantage of the myriad of tools which use PDB's like Process Explorer, Process Monitor, Visual Studio's remote debugging, OlyDebug, kernrate, the list goes on and on.

We willl maintain GCC support, so anyone who prefers it can continue to use it. Although, I expect most developers to move to msvc tools.

As a last point, MSVC tools are completely free. Always have been, always will be.

Get over your open source obsession. With the exception of a couple of projects, open source generally sucks...

Sof_T
Posts: 140
Joined: Fri May 01, 2009 4:46 pm

Re: MSVC Compiler Support

Post by Sof_T » Tue Feb 16, 2010 10:44 am

GCC isn't a crappy compiler, but it isn't the best compiler out there either. I have used GCC for several years and personally like it. However I work on a project that makes great use of wxWidgets, a friend on the project used Microsoft compilers, he not only compiled code faster than me, but the end result ran faster also. http://biolpc22.york.ac.uk/wx/wxhatch/w ... hoice.html

GPL is all about having the source code available, not making biased restrictions on what software you need to use to compile it.

nute
Posts: 251
Joined: Tue Aug 29, 2006 1:30 am

Re: MSVC Compiler Support

Post by nute » Tue Feb 16, 2010 11:22 am

You obviously ignored the link I pointed to. Why is the project even based on the GPL if the developers are generally anti open source?
Don't use proprietary tools that have a history of being licensed in a way that blocks the use of GPL'ed software with them.

Why clean room reverse engineer Windows if you aren't going to complement it with an open source compiler and open source debugging
tools? Microsoft Visual C is anything but free. This so called free compiler is not standards compliant and it was leveraged by Microsoft
to wipe out Borland C and all other competitors. All Microsoft has to do is change the EULA and if ReactOS depends on Microsoft Visual C,
a lot of work will have to be done to remove that dependency. Microsoft isn't going to be pleased with the ReactOS project using Microsoft
tools to essentially destroy the company's ability to sell the next version of Microsoft Windows. Don't be surprised if ReactOS gets into legal
trouble from being tied to Microsoft tools. One thing is certain, Microsoft will try to challenge the legality of ReactOS in any way possible,
especially if Microsoft property is used to produce ReactOS.

What was the point of the audit to assure people that zero Microsoft code found it's way into ReactOS if ReactOS is going to gain Microsoft code
by being compiled using Visual Studio? The linker, the loader, Microsoft's debugging tools, etcetera will make ReactOS dirty. You can't use Visual
Studio legally to produce a Windows compatible operating system that will compete with Microsoft WIndows without Microsoft's blessing. Think
about this, if you are in the car business and the guy across the street with all the tools is doing better than you, you can't simply steal his tools
to "even" the playing field.

As far as open source software compiled using GCC sucking, this article suggests just the opposite:
http://www.linuxinsider.com/story/The-O ... 62536.html

Seriously, if a mission critical hospital feels comfortable using software compiled using GCC, why doesn't the ReactOS community? What's the real reason for the anti GCC or is it anti open source tools bias being displayed here? I think the work to make ReactOS compile under MSVC should stop effective immediately. If the differences between GCC and MSVC are critical, clone MSVC or get someone else to clone it.

With all due respect, what I have said is not wrong and it is not spam. If the ReactOS community wants to risk getting ordered by a judge to stop development because it made the stupid decision of connecting ReactOS to Microsoft proprietary property, that is truly a shame. I guess 12 years worth of work doesn't mean all that much if it's okay to throw it away by grabbing Microsoft's proprietary tools. Frankly, I'd side with Microsoft if it pursued legal action against the ReactOS community for using it's proprietary tools.

One of the points of open source software is that you can fix it. If the compiler is proprietary and the problem lies in the compiler, you can't fix the problem. Microsoft Visual C if it is used has the potential to introduce bugs to ReactOS that can't be fixed.

Ged
Developer
Posts: 925
Joined: Thu Sep 29, 2005 3:00 pm
Location: UK

Re: MSVC Compiler Support

Post by Ged » Tue Feb 16, 2010 12:33 pm

Why am I replying to this???......
nute wrote:You obviously ignored the link I pointed to.
It's 4 years old, move on.
nute wrote: Why is the project even based on the GPL if the developers are generally anti open source?
Fun!
Also, I do not speak for all the developers
nute wrote: Don't use proprietary tools that have a history of being licensed in a way that blocks the use of GPL'ed software with them.
What history, show me some
nute wrote: Why clean room reverse engineer Windows if you aren't going to complement it with an open source compiler and open source debugging
tools?
Why does it compliment it? It makes no sense. You use the best tools for the job.
If someone gave you a free shirt, would you only wear free jeans and free shoes with it?
nute wrote: Microsoft Visual C is anything but free.
It's COMPLETELY FREE!!!!
nute wrote: This so called free compiler is not standards compliant and it was leveraged by Microsoft
to wipe out Borland C and all other competitors.
MSVC 10 is one of the most C++0x compliant compilers available. It now includes correct support for TR1 and has added support for r value references, decltypes, static_asserts, nullpt, etc. More are being added as the spec is agreed upon. It's probably the most C++0x standards compliant compiler available at the time of this writing!
nute wrote: What was the point of the audit to assure people that zero Microsoft code found it's way into ReactOS if ReactOS is going to gain Microsoft code
by being compiled using Visual Studio?
What???
How in the world do we gain microsoft code by using Visual Studio?
nute wrote: The linker, the loader, Microsoft's debugging tools, etcetera will make ReactOS dirty.
How? How is this even possible?
Please explain your reasoning, I can't even imagine how you came to this conclusion.
nute wrote: You can't use Visual
Studio legally to produce a Windows compatible operating system that will compete with Microsoft WIndows without Microsoft's blessing.
Now you're being silly. How do you dream these things up?
Can you show me the licencing statement which told you this?
nute wrote: Think about this, if you are in the car business and the guy across the street with all the tools is doing better than you, you can't simply steal his tools
to "even" the playing field.
We aren't stealing anything. If the car business gives his tools to you then you are completely entitled to build whatever you want with them assuming you aren't breaking the terms of the usage agreement .... which we most certainly are not.
nute wrote: As far as open source software compiled using GCC sucking, this article suggests just the opposite:
http://www.linuxinsider.com/story/The-O ... 62536.html
GCC is probably great for linux. ReactOS isn't linux!!!
Also, it's a pro linux website praising the very tools used to build linux. Wow, someone contact the BBC...

nute wrote: Seriously, if a mission critical hospital feels comfortable using software compiled using GCC, why doesn't the ReactOS community? What's the real reason for the anti GCC or is it anti open source tools bias being displayed here? I think the work to make ReactOS compile under MSVC should stop effective immediately. If the differences between GCC and MSVC are critical, clone MSVC or get someone else to clone it.

With all due respect, what I have said is not wrong and it is not spam. If the ReactOS community wants to risk getting ordered by a judge to stop development because it made the stupid decision of connecting ReactOS to Microsoft proprietary property, that is truly a shame. I guess 12 years worth of work doesn't mean all that much if it's okay to throw it away by grabbing Microsoft's proprietary tools. Frankly, I'd side with Microsoft if it pursued legal action against the ReactOS community for using it's proprietary tools.

One of the points of open source software is that you can fix it. If the compiler is proprietary and the problem lies in the compiler, you can't fix the problem. Microsoft Visual C if it is used has the potential to introduce bugs to ReactOS that can't be fixed.
I'm sorry, I've become too bored to answer the rest of your nonsense.
You need to do some reading and learn about the topics you post about instead of making yourself look uneducated.

If reactos providing MSVC support makes you leave these boards, then I'm fairly sure everyone here will agree it was a worth while thing.
I'm sorry if that sounds harsh, but people are becoming very tired with your anti-reactos stance, troll like behaviour and your constant need to pick fights.
I'm also becoming tired of people asking me to ban you...

JPLR
Posts: 80
Joined: Tue Oct 14, 2008 4:58 pm

Re: MSVC Compiler Support

Post by JPLR » Tue Feb 16, 2010 2:29 pm

Sorry I am the bad guy and I will not change.
On the overall I agree that GCC is a "good enough" compiler but personaly it sadden me that other commercial compilers where killed because this free C compiler came which is not only incompatible with the C standards but also not compatible with its previous incarnations as already pointed out by several persons.

Nevertheless MSVC costs lot of money:
http://store.microsoft.com/microsoft/Vi ... _vs2008std

Best regards,

Ged
Developer
Posts: 925
Joined: Thu Sep 29, 2005 3:00 pm
Location: UK

Re: MSVC Compiler Support

Post by Ged » Tue Feb 16, 2010 2:57 pm

JPLR wrote:Nevertheless MSVC costs lot of money:
http://store.microsoft.com/microsoft/Vi ... _vs2008std
I've stated twice already that MSVC is completely free. I can see people don't believe me so here is the link to Visual Studio, which includes the MSVC development toolkit
http://www.microsoft.com/express/Downlo ... Visual-CPP
and the 2010 edition is on the end tab.

We are only interested in the tools to build, not the SDK, but the FULL Windows SDK is here and is also free :
http://www.microsoft.com/downloads/deta ... laylang=en

For anyone not wanting to download Visual Studio that's fine, just continue using GCC.
MSVC support is mainly added for developers to make development much easier.
We'll also provide a symbol server at some point so you can use MSVC built binaries and PDB's directly from the build machine, therefore removing the need for anyone to download MSVC tools.

Locked

Who is online

Users browsing this forum: Ahrefs [Bot], Baidu [Spider] and 2 guests