Pages: « 1 2
  Print  
Author Topic: The benefits of Visual Studio's compiler?  (Read 4951 times)
Offline (Male) Rusky
Reply #15 Posted on: September 07, 2014, 04:10:24 PM

Resident Troll
Joined: Feb 2008
Posts: 955
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Y'all have no idea what you're talking about. Let me demonstrate; you can follow along if you like:

I just created a new console application in Visual Studio 2013. In release mode, it is 7Kb, and dynamically linked. It does not run on any of the Windows 7 PCs around here, because they do not have the 2013 Redistributable installed.

Now, in the project properties > Configuration Properties > C/C++ > Code Generation, I switch the Runtime Library option from /MD (DLL) to /MT (statically linked), and rebuild. The executable jumps to 68Kb and now runs on everything with no dependencies.

This is the exact same behavior as GCC, except if you do decide to go with the DLL, it's more likely to be installed on your target and easier to get if it's not. My Windows 8.1 install came with 2005, 2010, and 2012 by default, and the 2013 installer is only 7Mb and required for a lot of other things anyway.

Further, you can get Visual Studio to use older libraries if you have the SDK installed by going to Configuration Properties > General and changing the Platform Toolset option.

Finally, none of this has anything to do with .NET- it's all the C and C++ runtime libraries. Robert's correct that it's not backwards compatible, but with all the old versions factory installed with a total combined size around 13Mb, who cares?
Logged
Offline (Male) Rusky
Reply #16 Posted on: September 07, 2014, 04:18:47 PM

Resident Troll
Joined: Feb 2008
Posts: 955
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
To answer Josh's question, MSVC appears to be able to build OpenAL, ALURE, DUMB, OGG Vorbis, zlib, and libffi, out of the box, as they all have Visual Studio build instructions online. After fixing any potential issues with gnu extensions, it would likely be a matter of just switching the prebuilt library formats from .a to .lib, and switching the command lines in the Makefiles.
Logged
Offline (Male) Goombert
Reply #17 Posted on: September 07, 2014, 06:06:06 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Yeah I thought I read that online about .NET before, but I said it contrasted with the JSE. Though I was still using it to support my other premise, but I do believe if you install .NET you have to have multiple runtimes installed side by side merely as an end user and not just for compatibility testing like the JSE. I do not currently know because I do not have the .NET framework installed at all, which makes me wonder why Paint.NET even works on my computer currently. But the .NET framework is definitely up into the hundreds of MB's.

It looks to be slightly bigger than the average JSE which is cumulative and causes it to be much bigger. Though it is important that you consider that .NET is still relatively newer than Java which has existed for some time and therefore the initial interfaces/API's of .NET are as a result likely to be bigger because they had to include basically all the same features of Java with their improvements. In other words .NET was not starting at ground zero or at the most rudimentary levels of a framework.
« Last Edit: September 07, 2014, 06:09:53 PM by Robert B Colton » Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Male) Rusky
Reply #18 Posted on: September 07, 2014, 09:39:56 PM

Resident Troll
Joined: Feb 2008
Posts: 955
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Yep, .NET works the same way and is huge, but it's entirely unrelated to this thread.
« Last Edit: September 07, 2014, 09:44:43 PM by Rusky » Logged
Pages: « 1 2
  Print