Udostępnij za pośrednictwem


Co nowego w Visual C++ dla Visual Studio 2012

Ten dokument wprowadza nowe i ulepszone funkcje w Visual C++ w programie Visual Studio 2012.

Aby uzyskać informacje o innych dodatków w Visual Studio 2012, zobacz Nowości w Visual Studio 2012.

[!UWAGA]

Aby uzyskać informacje dotyczące zintegrowanego rozwoju środowiska (IDE) funkcje dla deweloperów, którzy tworzą Windows Store aplikacji, zobacz Sklep Windows opracowanie aplikacje przy użyciu programu Visual Studio 2012 r..

Ulepszone C ++ obsługuje standardy 11

Hh409293.collapse_all(pl-pl,VS.110).gifStandardowa biblioteka szablonów

  • Support for new STL headers: <atomic>, <chrono>, <condition_variable>, <filesystem>, <future>, <mutex>, <ratio>, and <thread>.

  • Aby zoptymalizować wykorzystanie zasobów pamięci, pojemniki są mniejsze.Na przykład w x 86 wydania tryb z domyślnymi ustawieniami, std::vector zmalał z 16 bajtów w Visual Studio 2010 12 bajtów w Visual Studio 2012, i std::map zmalał z 16 bajtów w Visual Studio 2010 do 8 bajtów w Visual Studio 2012.

  • Jako dozwolone, ale nie wymagane przez C ++ 11 norma, Iteratory PRZERAŻAJĄCE zostały wdrożone.Aby uzyskać więcej informacji, zobacz dokument PDF PRZERAŻAJĄCE przypisania sterująca i inicjalizacji.

Hh409293.collapse_all(pl-pl,VS.110).gifInne C ++ powiększenie 11

  • Oparte na zakresie dla pętli. Można napisać solidniejszą pętli, współpracujących z tablicami, kontenerów STL i Środowisko wykonawcze systemu Windows w postaci for (for-range-declaration :expression ). Jest to część obsługi języka podstawowego.Aby uzyskać więcej informacji, zobacz Range-based for — instrukcja (C++).

  • Bezstanowa lambdas, które są bloki kodu, które rozpoczyna się od [] wprowadzający lambda puste i przechwytywać żadnych zmiennych lokalnych, teraz są niejawnie konwertowane wskaźników funkcji zgodnie z wymaganiami C ++ 11 Standard.Aby uzyskać więcej informacji, zobacz Lambda wyrażenia w języku C++.

  • Obsługuje wyliczenia zakresu. C++ enum class klucza enum jest obecnie obsługiwane.Poniższy kod demonstruje, jak klucza enum różni się od poprzedniej enum zachowanie.

    enum class Element { Hydrogen, Helium, Lithium, Beryllium };
    void func1(Element e);
    func1(Hydrogen); // error C2065: 'Hydrogen' : undeclared identifier
    func1(Element::Helium); // OK
    

Windows StoreWsparcie rozwoju aplikacji

Kompilator Visual C++ i program łączący

  • Auto-vectorizer. Kompilator analizuje pętle w kodzie i, w miarę potrzeb, emituje instrukcje używające rejestrów wektorowych i instrukcje, które są obecne w wszystkie Nowoczesne procesory.Dzięki temu pętle działa szybciej.(Instrukcje procesora są znane jako SSE, dla Streaming SIMD Extensions).Nie trzeba włączyć lub zażądać Optymalizacja, ponieważ jest stosowane automatycznie.

  • Auto-parallelizer. Kompilator można analizować pętle w kodzie i wygenerować polecenia, które rozprzestrzeniają się obliczenia wielu rdzeni lub procesory.Może to pętle działa szybciej.Optymalizacja musi zażądać, ponieważ nie jest włączona domyślnie.W wielu przypadkach pomaga obejmują #pragma loop(hint_parallel(N)) w kodzie bezpośrednio przed pętli, które mają być jednordzeniowym.

    Auto-vectorizer i auto-parallelizer mogą wspólnie pracować tak, że obliczenia jest umieszczonych na wielu rdzeni i kod na każdy rdzeń korzysta z rejestrem vector.Aby uzyskać więcej informacji, zobacz Auto wykonywania błędy i ostrzeżenia.

Nowe wVisual Studio 2012 Update 1

Obsługa programowania równoległego

Hh409293.collapse_all(pl-pl,VS.110).gifC++ przyspieszane równoległości masowe (AMP)

C++ AMP przyspiesza wykonywanie kodu języka C++, wykorzystując zalety sprzętu równoległe danych, który jest zwykle obecny jako GPU na kartę graficzną.Model programowania C++ AMP zawiera tablice wielowymiarowe, indeksowanie, transfer pamięci, układanie i bibliotekę funkcji matematycznych.Przy użyciu rozszerzeń języka C++ AMP i ograniczenia kompilatora, można kontrolować sposób przenoszenia danych z Procesora GPU i na odwrót.Aby uzyskać więcej informacji, zobacz C++ AMP (C++ przyspieszyć równoległości prostych masowe).

Hh409293.collapse_all(pl-pl,VS.110).gifC++ przyspieszane równoległości masowe (AMP) debugowanie i profilowanie

Debugowanie. Proces debugowania dla aplikacji używających języka C++ AMP się nauczyć GPU jest jak debugowanie dla innych aplikacji C++.Obejmuje to nowe równoleżnika debugowanie dodatków, które zostały wymienione wcześniej.Zobacz Debugowanie kodu GPU.

Profilowanie. Teraz jest profilowanie pomocy technicznej dla działania GPU, opartego na C++ AMP i inne modele programowania oparty na Direct3D.Zobacz Wykres aktywności procesora GPU.

Hh409293.collapse_all(pl-pl,VS.110).gifUlepszenia programowania równoległego ogólne

Ze sprzętem do architektury wielordzeniowej i wielu rdzeni deweloperzy nie jest już może polegać na coraz większą szybkość zegara za pomocą pojedynczego rdzeni.Podstawy programowania równoległego w Współbieżność Runtime umożliwia programistom skorzystanie z tych nowej architektury.

W Visual Studio 2010, potężny bibliotek zrównolegleniu C++, takie jak Równoległych wzorów biblioteki zostały wprowadzone, łącznie z funkcji do wykorzystania zalet współbieżności wyrażając rurociągów wyrafinowanych przepływ danych.W Visual Studio 2012, te biblioteki zostało rozszerzone, aby zapewnić lepszą wydajność, większą kontrolę i bogatsze obsługę równoleżnika wzorców, które deweloperzy muszą większość.Szerokość oferta obejmuje obecnie:

Hh409293.collapse_all(pl-pl,VS.110).gifUlepszenia debugowanie równoleżnika ogólne

W uzupełnieniu do Zadań równoległych okna i Stosów równoległych okna, Visual Studio 2012 oferuje nowy Równoległych czujki okna tak, aby sprawdzić wartości wyrażenia we wszystkich wątków i procesów i wykonać sortowanie i filtrowanie na podstawie wyników.Umożliwia także własne podglądaczy rozszerzenie okna, a mogą Państwo skorzystać z obsługi wielu nowych przez wszystkie okna narzędzia.Aby uzyskać więcej informacji, zobacz Jak: równoległy okno czujki.

IDE

Narzędzia w programie Visual Studio IDE ma znaczną poprawę, które pomogą Ci zwiększyć swoją produktywnooć gdy kod w języku C++.Aby uzyskać więcej informacji dotyczących ulepszeń IDE, zobacz Visual Studio 2012 — wyróżnienia produktów.

  • Szablony programu Visual Studio obsługuje. Program technologii Visual Studio szablonów do autora C++ szablony projektu i elementu.

  • Asynchroniczne ładowanie rozwiązanie. Projekty wczytują asynchronicznie — najważniejsze części roztworu pierwszy — tak, aby można było rozpocząć działa szybciej.

  • Zautomatyzowanego wdrażania dla zdalnego debugowania. Wdrażanie plików dla zdalnego debugowania w środowisku Visual C++ został uproszczony.Opcja wdrażanie w menu kontekstowym projektu automatycznie kopiuje do komputera zdalnego pliki, które są określone we właściwościach konfiguracji debugowania.Ręczne kopiowanie plików na komputer zdalny nie jest już wymagane.Aby uzyskać więcej informacji, zobacz Zdalne debugowanie projektu, zbudowany lokalnie.

  • C + +/ CLI IntelliSense. C + +/ CLI ma teraz pełną obsługę technologii IntelliSense.Funkcje IntelliSense, takich jak szybkie informacje, pomoc parametr, lista członków i Autouzupełnianie teraz pracy C + +/ CLI.Ponadto inne IntelliSense i IDE rozszerzenia wymienione w niniejszym dokumencie są także dążyć do C + +/ CLI.

  • Bogatsze podpowiedzi IntelliSense. Etykietki narzędzi C++ IntelliSense szybkie informacje teraz zawierać informacje o stylu bogatsze komentarzy dokumentacji XML.W przypadku korzystania z interfejsem API z biblioteki — na przykład C++ AMP — zawierającego komentarzy dokumentacji XML, a następnie IntelliSense tooltip Wyświetla więcej informacji niż tylko deklarację.Ponadto jeśli kod zawiera komentarzy dokumentacji XML, IntelliSense etykietki narzędzi są wyświetlane informacje bogatsze.

  • Konstrukcje kodu języka C++. Szkielet kodu jest dostępna dla przełącznika, jeśli inaczej, dla pętli i inne konstrukcje podstawowe kodu, na liście rozwijanej listy członków.Zaznacz fragment kodu z listy, aby wstawić go w kodzie, a następnie wypełnij wymagane logikę.Można również utworzyć własne niestandardowe fragmentów kodu do użytku w edytorze.Aby uzyskać więcej informacji, zobacz Wstawki kodu programu.

  • Lista członków ulepszenia. Lista członków listy rozwijanej pojawia się automatycznie podczas pisania kodu w edytorze kodu.Wyniki są filtrowane, tak aby tylko istotne elementy są wyświetlane podczas pisania.Można kontrolować rodzaj logiki filtrowania, który jest używany przez listy elementów członkowskich — w Opcje okno dialogowe, w obszarze Edytor tekstu, C/C++, Zaawansowane.Aby uzyskać więcej informacji, zobacz Za pomocą technologii IntelliSense.

  • Semantyczne kolorowania. Typy, wyliczeń, makra i innych tokenów C++ już kolorowania domyślnie.Aby uzyskać więcej informacji, zobacz Pisanie kodu w edytorze kodu i tekstu.

  • Wyróżnianie odniesienia. Teraz zaznaczenie symbolu powoduje wyróżnienie wszystkich instancji symbolu w bieżącym pliku.Naciśnij kombinację klawiszy Ctrl + Strzałka w górę lub Ctrl + Shift + Strzałka w dół strzałkę, aby przejść wśród wyróżnionych odwołania.Można wyłączyć tę funkcję Opcje dialogowe, pod Edytor tekstu, C/C++, Zaawansowane.

Narzędzia do zarządzania cyklem życia aplikacji

Hh409293.collapse_all(pl-pl,VS.110).gifStatycznej analizy kodu

Analizy statycznej dla języka C++ został zaktualizowany w celu dostarczenia informacji kontekstu błędu bogatsze, więcej reguł analizy, i ułatwia analizę wyniki.W nowym Analizy kodu okna, można filtrować wiadomości według słowa kluczowego, projekt i wskaźnik ważności.Po wybraniu w oknie wiadomości, w kodzie, w jakim został wyzwolony wiadomości jest ona w edytorze kodu.Dla niektórych ostrzeżeń C++, wiadomości wyświetlane źródła wiersze dotyczące ścieżki wykonanie, która prowadzi do ostrzeżenia; punkty decyzji oraz o powodach podjęcia tej określonej ścieżki są wyróżnione.

Analizy kodu znajduje się w większości wersji systemu Visual Studio 2012.W Professional, Premium i ostateczny wydania zawarte są wszystkie reguły.W wersji Express dla Windows 8 podobnie jak Windows Phone tylko najbardziej krytyczne ostrzeżenia.Analizy kodu jest niedostępna w wersji Express dla sieci Web.

Oto niektóre inne rozszerzenia analizy kodu:

  • Nowe ostrzeżenia współbieżności pomóc w uniknięciu błędów współbieżności upewniając się, czy używasz poprawnego dyscyplin blokowania w wielowątkowe programy C/C++.Analizator wykrywa potencjalne wyścigu, odwracając kolejność blokady, rozmówcy/wywoływany blokowania naruszenia Umowy, operacji synchronizacji niedopasowane i innych błędów współbieżności.

  • Można określić reguły C++, które chcesz zastosować do wybiegu analizy kodu za pomocą zestawy reguł.

  • W Analizy kodu okna, można wstawić do kodu źródłowego pragma, która pomija ostrzeżenie wybrane.

  • Za pomocą nowej wersji może zwiększyć dokładność i kompletność statycznej analizy kodu języka opisu kodu źródłowego Microsoft (SAL) do opisywania, jak funkcja wykorzystuje jego parametry, założeń, które to sprawia, że na ich temat i gwarantuje, że to sprawia, że po jego zakończeniu.

  • Wsparcie dla 64-bitowych projekty C++.

Aby uzyskać więcej informacji na temat sposobów poprawy jakości kodu, zobacz Analizowanie jakości aplikacji za pomocą narzędzia do analizy kodu.

Hh409293.collapse_all(pl-pl,VS.110).gifZaktualizowane struktury testowej jednostki

Użyj nowej struktury testowej jednostki C++ w Visual Studio pisać testy jednostkowe C++.Dodać nowy projekt testu jednostki do istniejącego rozwiązania C++, lokalizując Jednostki przetestować projektu C++ szablon pod Visual C++ kategorii w Nowy projekt okno dialogowe.Zacznij pisać testy jednostkowe w wygenerowanym TEST_METHOD Kod szczątkowy w Unittest1.cpp pliku.Po zapisaniu kodu testu, skompilować projekt.Aby uruchomić testy, należy otworzyć Explorer Test jednostki okno, wybierz polecenie Widok, Other Windows, Explorer Test jednostki, a następnie w menu skrótów dla przypadku testowego, chcesz, wybierz uruchomić wybrane do testu.W wyniku badania uruchomienia kończy w tym samym oknie można wyświetlić wyniki badań i informacje o śledzeniu stosu dodatkowe.Zobacz Sprawdzanie kodu za pomocą jednostki badań i Tworzenie i uruchamianie testów jednostkowych w aplikacji sklepu Windows Store.

Hh409293.collapse_all(pl-pl,VS.110).gifWykresy zależność architektury

Aby lepiej zrozumieć swój kod, można generować wykresy zależność dla binarnych, klasy, obszar nazw i dołączyć pliki do rozwiązania.Na pasku menu wybierz polecenie architektury, Wygenerować wykres zależności, a następnie Rozwiązanie dla lub Dla pliku obejmują aby wygenerować wykres zależności.Po zakończeniu tworzenia wykresu, można ją poznać po rozwinięciu węzła, Poznaj relacji zależności przenosząc między węzłami i Przeglądaj kod źródłowy, wybierz polecenie Wyświetl zawartość w menu skrótów dla węzła.Aby wygenerować wykres zależności dla plików include, w menu skrótów dla *.cpp plik kodu źródłowego lub *.h nagłówka pliku, wybierz polecenie Wygenerować wykres z Uwzględnij pliki.Zobacz Wizualizacja zależności kodu na wykresach zależności.

Hh409293.collapse_all(pl-pl,VS.110).gifEksploratorze architektury

Za pomocą Eksploratora architektury, można eksplorować zasoby znajdujące się w roztworze C++, projektów lub pliki.Na pasku menu wybierz polecenie architektury, systemu Windows, Eksploratorze architektury.Można wybrać węzeł, które są zainteresowane, na przykład, Widok klasy.W takim przypadku prawej stronie okna narzędzie jest rozwinięty wykaz obszarów nazw.Wybranie obszaru nazw, nowa kolumna pokazuje listę klas, strukturach i teksty stałe w tym obszarze nazw.Można kontynuować do zbadania tych aktywów, lub powrót do kolumny z lewej uruchomić innej kwerendy.Zobacz Wyszukiwanie kodu za pomocą narzędzia Architecture Explorer.

Hh409293.collapse_all(pl-pl,VS.110).gifUżycie kodu

Użycie kodu został zaktualizowany do dynamicznie pliki instrument binarne w czasie wykonywania.To zmniejsza obciążenie konfiguracji i zapewnia lepszą wydajność.Można również zbierać dane użycie kodu z testy dla aplikacji C++.Aby uzyskać więcej informacji na temat sposobów tworzenia i uruchamiania testów jednostkowych zobacz sekcję struktury testowej jednostki tego dokumentu.Po utworzeniu testy jednostkowe C++ można użyć Explorer testu jednostki odkryć badań w rozwiązaniu.Aby uruchomić testy jednostkowe i gromadzenia danych pokrycia kodu dla nich, w Explorer testu jednostki, wybierz polecenie Analizowanie użycie kodu.Można przejrzeć wyniki pokrycia kodu w Wynikami pomiaru pokrycia kodu okna — na pasku menu wybierz polecenie Test, systemu Windows, Wynikami pomiaru pokrycia kodu.Zobacz Za pomocą Code Coverage, aby określić, jak dużo kodu jest badany.

Zobacz też

Koncepcje

Nowości w Visual Studio 2012

Inne zasoby

Visual C++ przez zespół

języka Visual C++ w Visual Studio 2012 r.