Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak sprawdzić kompilator w Visual Studio + jak wybrać czy chcę pisać w C++98 C++11 C++14

Ostatnio zmodyfikowano 2015-09-03 18:05
Autor Wiadomość
Kyriet
Temat założony przez niniejszego użytkownika
Jak sprawdzić kompilator w Visual Studio + jak wybrać czy chcę pisać w C++98 C++11 C++14
» 2015-09-02 17:22:45
=== Krótkie wprowadzenie fabularne ===

Korzystam z programu Microsoft Visual Studio Express 2013 for Windows Desktop. Chciałbym sprawdzić z jakiego kompilatora korzystam. Kompilator chcę znać, bo kiedyś inny programista się mnie zapytał z jakiego korzystam. Nie potrafiłem odpowiedzieć.
Poza tym, czy da się wybrać wersję języka, w której chciałbym pisać swój program?

Bo testowałem taki programik. Wkleiłem ten kod do starego projektu:
C/C++
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector < int > tablica = { 1, 2, 3, 4, 5, 6, 7 };
    for( auto i: tablica )
    {
        cout << i << std::endl;
    }
   
    system( "pause" );
    return 0;
}
I wyrzucało mnóstwo błędów. Zapisałem projekt, zrestartowałem Visuala i śmiga. Visual się przełączył na inną wersję języka? Chciałbym sam wybierać jednak :-)

=== Właściwa treść pytania ===
Podsumowując: Jak sprawdzić kompilator w Visual Studio oraz jak sprawdzić i zmienić wersję języka C++, w którym piszę?

Niby Visual 2013, a kody z nowościami w C++11 nie działają.
C/C++
constexpr int GetFive() { return 5; } // constexpr jest nieznane, a powinno być.
Czo ten Visual? Powyższa pętla for-each, wprowadzona w C++11 działa, a to coś z constexpr, które też jest dodatkiem z C++11 nie działa O_o
P-137160
DejaVu
» 2015-09-02 18:09:33
mowisz jaka wersje masz visuala i to mowi samo za siebie jaki masz kompilator. wsparcie standardu to odrebna sprawa. musisz otworzyc sobie specyfikacje visuala i zobaczyc jakie elementy danego standardu wspiera kompilator dolaczony do visuala.
P-137165
Kyriet
Temat założony przez niniejszego użytkownika
» 2015-09-02 18:24:05
No dobrze. W takim razie korzystam z kompilatora z Visual 2013. Żadnej nazwy, znaczącej wersji składającej się z 10 cyfr i znaków. Brzmi super :)

Znalazłem taki fragmencik:

Visual Studio 2013 udostępnia:
wsparcie znacznej części standardu C++11

W takim razie, skoro wcale taka niemała firma jak Microsoft nie nadąża implementować najnowszych standardów języka, to istnieje na świecie kompilator wspierający w pełni i na bieżąco najnowsze standardy?
P-137166
Fireho
» 2015-09-02 18:28:21
Dopiero MSVC++ 14.0(ten w VS2015) wspiera constexpr. Musisz pobrać nowszą wersję Visual Studio. Jeśli chodzi o poszczególne funkcje w różnych wersjach, to w MSDN jest pełna lista(aczkolwiek kolumna Visual Studio 2015 odnosi się do wersji RC a nie RTM, więc nieco dodali - np. atrybuty, w tym
[[ deprecated ] ]
).
P-137167
Kyriet
Temat założony przez niniejszego użytkownika
» 2015-09-02 18:40:05
Wczytałem się w dokumentację GCC i jest tam napisane, że eksperymentalnie wspierają C++14, bo to jeszcze wersja rozwojowa.
Czyli Microsoft leci w kulki (chyba, że w wersji płatnej jest lepiej). Dziękuję
P-137168
DejaVu
» 2015-09-02 20:44:52
Kompilator jest taki sam dla wersji Express jak i dla wersji Professional. Po prostu C++ nie jest w kręgu zainteresowań Microsoftu od kiedy zrobili C#.
P-137195
Elaine
» 2015-09-03 18:05:22
istnieje na świecie kompilator wspierający w pełni i na bieżąco najnowsze standardy?
Nawet dwa: GCC i Clang.
P-137230
« 1 »
  Strona 1 z 1