Talk:Visual C++

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Computing / Software (Rated Start-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software (marked as Low-importance).
WikiProject C/C++ (Rated Start-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject C/C++, a collaborative effort to improve the coverage of C/C++ on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the quality scale.
 Low  This article has been rated as Low-importance on the importance scale.
Taskforce icon
This article falls within the scope of C.


I've done my best to clean up the "history" section, which used improper tenses & had other grammatical mistakes - as well as some very strange, mangled HTML & Wiki code - but someone with better knowledge of the history of Visual C++ could probably help improve that section quite a bit. Keithius 22:17, 13 December 2005 (UTC)

I used Visual C++ 1 and 1.5, and as far as I remember, it had no 32-bit programming capacity. To clarify slightly - it was limited to the WIN16 programming model. It couldn't compile for WIN32. There was an option to use different memory models within WIN16. When Visual C++ 2.0 was released, it included a copy of 1.5 for WIN16 development.

I'm not sure of the details of this, so I haven't updated the article. If I can find a copy of 1.0 or 1.5 I might install it to see what it actually has. JHWW.

Westprog 11:42, 2 February 2007 (UTC)

My retail-boxed Visual C++ 4.0 AE (Academic Edition) also came bundled with Visual C++ 1.52. And the subscription-edition (4.1) came with the Microsoft Game SDK. At the time, that was a big deal, because the VC++ subscription was the cheapest way to (legally) obtain the Game SDK. (Less than a year later, Microsoft re-released the Game/SDK as 'DirectX 2.0 SDK', free download for all.)

11:42, 22 February 2007 (UTC)

Not sure about VC 1.0 but 1.5 does indeed produce 32-bit (i386) code and includes support for large memory models. It does not include support for the newer Windows32 API and the linker supplied does not support the newer related formats (AFAIK). Another interesting feature is the integration of MASM including a compiler switch (/MA) allowing you to pass parameters. Borland compilers had even cooler features in this regard. sPAzzMatiC 18:45, 23 September 2009 (UTC)

Minor quibble, but "extremely compatible" seems a bit hyperbolic. Perhaps highly compatible or highly compliant would be better language? — Preceding unsigned comment added by (talk) 16:20, 12 February 2015 (UTC)

Extern links in article proper[edit]

Is it, or is it not appropriate to include an external link in the article where it is mentioned? It seems to me that if the article wants to mention exactly what this external link discribes - something that is not exactly standard - would it not be convenient to the reader to provide the link for more information - right then and there - so he can continue with his quest for knowledge? I just noticed in the history that I have added the link 3 times, and the same user has removed the link 2 times due to the fact it is included in the external links. I appreciate that the link is now included twice if it exists in the article and in the links section, but from the point of view of convenience and usability, why not give the link right at the point in time the reader wishes to see it, rather than making him un-conveniently have to search for it in a links list. Many articles on Wikipedia do this, and I am sure most are ok for this exact reason. 12:32, 18 August 2005 (UTC)

That user who removed them was probably me. Using extern links in the article proper is against Wikipedia standards. Including it as a cite is permissible, however, as I have done with your link. The link is right there for the user to click on, but it doesn't look like a wikilink; it is clearly a reference to an extern site. Frecklefoot | Talk 19:32, August 18, 2005 (UTC)
Yes, it was you. I just realized today that we were each re-doing / un-doing each other's work. I understand now, the citation is much more proper, and it achieves the result I was attempting to explain. Thanks. 03:59, 19 August 2005 (UTC)

Debugger available as separate download?[edit]

Article states that although the "C++ Toolkit 2003" lacks the "Platform SDK" and the debugger, these are "available as separate downloads." From context one would assume these are available for free download. I wasn't able to find a debugger available for free download at the Microsoft Developer Network download site.

If there really is a free debugger available for download, I suggest adding an external link as has been done for the "C++ Toolkit 2003". If not, the article needs to be corrected. Note: The latest version of the "Platform SDK" has debuggers for 64 bit code, but not for 32 bit code.

See Debug Tools For Windows [1].


How is syntax hilighting an advanced feature? Or two-macine debugging? This smacks of marketing (or sycophancy) to me. -Ahruman 09:47, 30 March 2006 (UTC)

"Keep this in mind, however, the problems you are likely to encounter are rare." That seems to me to be a sales pitch by a Microsoft representative... IMacWin95 16:26, 12 June 2006 (UTC)

Would anyone complain if I removed "syntax highlighting" from the "boasts such advanced features..." sentence? Would anyone complain if I removed "Keep this in mind..." as well? IMacWin95 22:37, 2 July 2006 (UTC)

Go ahead and remove the "marketing language," but syntax highlighting is a feature. It used to be advanced back in '93 or '94, but it's not anymore. So go ahead and remove the text that says the feature is "advanced," but it is still a valid feature. — Frecklefoot | Talk 16:12, 5 July 2006 (UTC)

More Detail[edit]

I was just reading the article on [GNU Compiler Collection|GCC] and found it much more detailed than this article. Can this article be brought up to the same level of detail, or does the closed-source nature of MS VC++ prevent that? It seems that it shouldn't. 18:46, 25 May 2006 (UTC)


Right now, QuickC redirects to this, but QuickC isn't really covered in this article. Would it be better to split QuickC off into a separate article? --Improv 05:20, 2 June 2006 (UTC)

I've created a stub article on QuickC — wm243 | Talk 20:46, 14 August 2008 (UTC)

Boasts Advanced Features[edit]

The Wikipedia entry reads: boasts advanced features such as syntax highlighting.... This expression doesn't sound very encyclopedia-isch to me, rather more like marketing speak. Esp since quite a few users of other fine editors and IDEs might believe that syntax highlighting is quite normal and not very advanced at all...

See my response in the NPOV section above. — Frecklefoot | Talk 16:13, 5 July 2006 (UTC)

Shorten compile times[edit]

"The compile and build system feature, precompiled header files, "minimal rebuild" functionality and incremental link: these features significantly shorten turn-around time to edit, compile and link the program, especially for large software projects."

While it is certainly true that these features significantly shorten compile and link times, I'm wondering if Visual C++ now supports distributed builds or multiple processors. Last time I checked, MSVC would only use a single-core processor at a time and was unable to distribute the build to other computers (such as distcc), though this could possibly be added by third-party components. The end result, of course, was that full builds are often significantly slower on MSVC than with other build environments. If MSVC does not make use of multicore or multiprocessor computers, we should probably mention this limitation. I'm not sure if it is worth mentioning the lack of support for distributed builds, though. Comments? --Yamla 17:00, 21 August 2006 (UTC)
VS2005 supports multi-processor builds, as long as you have multiple projects without dependencies between them: e.g. if you have one project producing A.lib, another producing B.lib, and a third linking them together in C.exe, then it can compile A and B in parallel on two separate processors/cores; but it can't compile half of A's .cpp files in parallel with the other half (unlike distcc), and it has to wait until they're both finished before it starts building any of C. 20:01, 16 December 2006 (UTC)
In addition, Visual C++ 2008 also supports intra-project multi-processor builds: with the /MP option set to use N processors/cores, when compiling a single project, N source files can be compiled in parallel. -- (talk) 20:52, 22 March 2008 (UTC)

Article name[edit]

See Talk:Microsoft Visual Studio‎. --Stefán Örvarr Sigmundsson 03:35, 27 October 2007 (UTC)

Compiler Output is Unclear[edit]

It's not clear to me what the C++ compiler does exactly. From personal experience I believe that the earlier versions of C++ up to version VC6 primarily generated native code, such as .EXEs, .DLLs, etc., but with the advent of the later versions bearing the .NET label, from the article, it's not possible to determine if the compiler generates Common Intermediate Language for output or if it's a native code compiler or if it does both.

I agree that this should be clarified as many people, esp. at release, believed you could only target .NET given the name "VS.NET". You can, of course, generate IL or native code. —Preceding unsigned comment added by (talk) 02:33, 18 October 2010 (UTC)

(Redirected from Microsoft C)[edit]

Well I wanted to do some research on Microsoft C and was redirected here. But there is nothing here about pre "Visual" MS-C/C++!. The history section begins with Visual C++ 1.0.

There is a link called The predecessor to Visual C++ was called Microsoft C/C++. - but that one is red. So where is the information on pre "Visual" MS-C gone - and more importantly: Why was I redirected to a page where the requested information clearly isn't available?

--Krischik T 07:19, 4 February 2008 (UTC)

RISC Edition[edit]

Hey everyone, there is a RISC edition of Visual C++. I believe it can target RISC systems and run on them. Its for the Alpha AXP, MIPS and PowerPC. It runs under any win32 system. —Preceding unsigned comment added by MichaelCody89 (talkcontribs) 03:10, 9 February 2008 (UTC)

this is an abominable article[edit]

encyclopedia entries are supposed to be readable and understandable by people not necessarily expert in the field. this sort of gobbledygook is what one would expect to find in a programmers'/developers' forum. whoever adds or edits this article should ask himself "does this explain to a non-versed reader what this is and how it works?" that hardly means it needs to be reduced to kindergarten-sized bites. but it should indicate what this is, to which components/programs it is crucial, etc. etc. etc. —Preceding unsigned comment added by (talk) 23:39, 17 June 2010 (UTC)

"Microsoft Visual C++ is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/CLI programming languages."
That's about as simple as we can make it. Anything that differentiates it from similar projects is highly technical. Can you suggest how we could improve the article? Would making a more prominant link to Microsoft Visual Studio help? –Gunslinger47 07:56, 18 June 2010 (UTC)

Stating whether this thing is for programmers or is needed by the general public would help. — Preceding unsigned comment added by (talk) 02:23, 28 October 2011 (UTC)

This should be clear to anyone who reads and understands the first sentence. It's a development environment for work with a programming language, so yes, it's for programmers. If you don't understand term on Wikipedia, be sure to click it and read its summary before continuing onward. Following this article's first link, for example, will tell you that IDEs (such as VC++) provide "comprehensive facilities to computer programmers for software development." –Gunslinger47 03:07, 28 October 2011 (UTC)
Visual C++ [b]was[/b] an IDE. Now it comes as part of the visual studio IDE, so technically it is a module giving functionality to an IDE. It includes a compiler and libraries such as MFC. As such, some sources refer to Visual C++ as only the compiler and libraries. Beside C and C++ the compiler (cl.exe) also compiles C++/CLI.

Because of this vc++ is also referred to as a language (e.g. "software written in vc++") though c++/cli should be used to avoid confusing a product with a language.Jayjiggunjer (talk) 13:46, 18 March 2015 (UTC)

_MSC_VER information[edit]

A table of the values of the _MSC_VER predefined preprocessor value for different versions of the compiler would be most useful. (Actually this would more accurately give an indication of the "compiler" version which for VC++ 10 indicates that it is 16.00. A table of the complete values is a good idea. This is what I know:

VC6 1200 VC.NET 1300 VC2003 1310 VC2005 1400 VC2008 1500 VC2010 1600

02:45, 18 October 2010 (UTC)

MSC 1.0 was not K&R[edit]

The comment about MSC 1.0 not being K&R sounds unnecessarily negative to me. First, I am not sure there is a strict definition of what K&R C is but the Lattice compiler supported the exact C language as UNIX compilers of the time did with a few extensions (such as allowing the $ character in identifiers). Some of the "normal" UNIX library routines (like strcspn) were not implemented but in many ways the library routines provide were better than those that became part of the defacto standard (ie, K&R) and later C89.

I ported a lot of code from MSC 2.0 to MSC3.0 in 1985. In many ways the new compiler was a backward step, with inferior code generation, optimizations, and library functions. But it was more compatible with UNIX compilers of the time being basically a port of Microsoft's Xenix compiler.

BTW I have never had any relation to Lattice apart from using their compiler under MSDOS and AmigaDOS. —Preceding unsigned comment added by AndrewWPhillips (talkcontribs) 03:09, 18 October 2010 (UTC)

Target platforms[edit]

Shouldn't this article cite the target platform MSVC supports? In the whole article there isn't a single reference to "ARM". (talk) 12:21, 29 January 2012 (UTC)

Hm. x86, x86, Itanium... no, ARM's not mentioned. Aren't there versions for PowerPC too? I'll fix this when I can actually write properly (a.k.a. not midnight). --EM64T (talk) 00:38, 18 November 2012 (UTC)

Issues for whom?[edit]

The first 2 issues paragraphs cam be simplified as "No ABI compatiblity". Why make it an issue when the C++ standard says otherwise? Does a common programming mistake qualify as an issue for each and every C++ compiler?--Skyfiler (talk) 22:10, 26 February 2013 (UTC)


Visual C++'s c99 support is being further developed (seemingly due to customer pressure to support libraries like ffmpeg) - , . (talk) 09:16, 9 October 2013 (UTC)

Programming Language[edit]

It is true that including C# in the list of languages that Visual C++ is implemented in would constitute WP:SYNTH, synthesis of that the Visual C++ IDE mostly or completely overlaps the Visual Studio IDE and that Visual Studio is partially implemented in C#. However, it is misleading to list only C++ based on, the personal website of someone in another country. I suggest either deleting "Written in" completely from the Infobox or adding a "Better source" template to the existing reference (along with explanatory text in that template that C# is also likely another implementation language, which it almost certainly is). Michaelmalak (talk) 18:33, 28 August 2014 (UTC)

Objection to source by User:Michaelmalak[edit]


I am writing this as a follow up to my reversion of an edit by Michaelmalak in accordance to WP:BRD. (I am hoping you are seeing this, Michael.) Michael has requested one of the sources (in the infobox) to be changed, having provided the following reasons:

Source is a personal web page from a country different than the publisher; [...]

Actually, this good, not bad. This kind of source is called secondary sources. Wikipedia loves secondary sources. They are generally better than primary sources, though primaries are not evil either.

[...] moreover, source indicates Visual Studio is written in C++ and C# but Visual C++ only in C++, even though both products share the same IDE

Now this one is not accurate. The source lists Visual Studio under development environments and says it is written in C++ and C#. But the list under which C++, C#, Visual Basic and GCC are placed is titled "Compilers/Interpreters" meaning that the list has nothing to do with anything else that is C++-related.

Best regards,
Codename Lisa (talk) 21:45, 2 September 2014 (UTC)

Then perhaps instead of the "better source" template I used, what is needed is just a plain old "citation needed" template for the C# assertion, since it seems we have no source directly indicating the Visual C++ IDE is partially written in C# (and to clarify, according to the introduction of this Wikipedia article, it is about the IDE product and not just the compiler), and since we seem to agree that inferring it from that the Visual Studio IDE is partially written in C# would be WP:SYNTH. As I asserted in the above Talk:Visual C++ section on Programming Language, stating Visual C++ is written only in C++ is probably wrong and thus misleading. An alternative solution is to eliminate the "Programming Language" line altogether from the Infobox.
Michaelmalak (talk) 22:37, 2 September 2014 (UTC)
Hi. There is no need to resort to such measures at all. You can simply not assert C# in the article because:
  • First, this article is about C++ only, there is the freedom of simply not bothering with Visual Studio.
  • Second, to my knowledge there is no such thing as Visual C++ IDE. Microsoft has only one IDE for C++: Visual Studio. It serves as a front-end to a command line compiler that is also included with Windows SDK. (Now that I think, a rather long time ago, I had a discussion with someone who wanted to remove the article logo, but somehow, back then, there was evidence about the existence of distinct a VC++ IDE or so I was lead to believe. Still, if situation has changed, it is only logical that we change with it.) Of course, the burden of providing source is with the person who says there is a distinct Visual C++ IDE.
Best regards,
Codename Lisa (talk) 23:18, 2 September 2014 (UTC)
OK, Googling just now it looks like Visual C++ has not been offered separately from Visual Studio since the 2010 version (the last version I personally used a lot of). So this whole article needs to be rephrased to indicate that. I'll do that at some point in the future. (And of course that means Visual C++ being written in only C++ is correct, for the current 2013 version :-) Michaelmalak (talk) 03:55, 3 September 2014 (UTC)
Hi. Visual C++ is still being offered as part of Windows SDK; it has been so since 2001. Best regards, Codename Lisa (talk) 03:42, 4 September 2014 (UTC)

Which runtimes are shipped with each version of Windows?[edit]

Does anyone know which version of Visual C++ runtime is shipped with each version of Windows? If any are shipped and installed by default, then please create a section similar to .NET_Framework#History. Thanks! • SbmeirowTalk • 05:14, 15 November 2014 (UTC)

No New Features in VS 2012[edit]

No new features are listed under VS 2012 and 2013 in history. Just the version numbers are listed.No new C++11 features are listed. But in the 2005 and 2006 section the exact ISO C++ features are listed. Go To Case 1 (talk) 22:20, 25 May 2015 (UTC)

The great gimmick of "support" for C standards later than C90[edit]

There is no Burger King (fast food) restaurant in my country 'A'. Burger King has a restaurant in a neighboring country 'B'. The 'B' country is on good terms with mine and thus I can visit the Burger King restaurant over there easily.

Can Burger King now claim, since they're feeding some people from country 'A', that they are supporting/established in Country 'A'? No.

Similar situation is seen with Microsoft's C standard support. C99/11 is country 'A', C++11 is country 'B' and microsoft is Burger King.

Since there is a some overlap in the standards of C++11 and C99/11 and that C++11 compilers(that Microsoft has) can compile C too, they want you to write your C code on a C++11 compiler, pretend you're really coding in C and let them tell you that they worked hard on supporting the latest C standards.

They have recommended C developers to rename their file to .cpp to use the latest compilers. references:

Microsoft just hates C and they have totally ignored it since C90. But admitting that upfront will be damaging to their sales. — Preceding unsigned comment added by (talk) 07:57, 10 July 2015 (UTC)