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
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: #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ą. constexpr int GetFive() { return 5; }
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 |
|
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. |
|
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? |
|
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 ] ] ). |
|
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ę |
|
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#. |
|
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. |
|
« 1 » |