Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby wstawić atrybuty do projektu na trzy sposoby.Po pierwsze można wstawiać ręcznie w kodzie źródłowym.Po drugie można wstawić je za pomocą siatki właściwości obiektu w projekcie.Wreszcie można wstawić je przy użyciu różnych kreatorów.Aby uzyskać więcej informacji o korzystaniu z okna właściwości i różnych kreatorów, zobacz Tworzenie i zarządzanie projektami Visual C++.
Począwszy od programu Visual C++.NET, kompilator rozpoznaje obecność atrybutów w pliku źródłowym i jest zdolny do dynamicznego analizowania i weryfikuje ich podczas kompilacji.
Jak przed, podczas tworzenia projektu kompilator analizuje każdego pliku źródłowego języka C++, produkujących pliku obiektu.Jednakże gdy kompilator napotyka atrybutu, jest analizowany i syntaktycznie zweryfikowane.Następnie kompilator wywołuje dynamicznie dostawcą atrybutu, aby wstawić kod ani wprowadzać innych modyfikacji w czasie kompilacji.Wdrożenie dostawcy różni się w zależności od typu atrybutu.Na przykład atrybuty związane z ATL są implementowane przez Atlprov.dll.
Na rysunku poniżej pokazano relację między kompilator i dostawca atrybutu.
[!UWAGA]
Użycie atrybutu nie zmienia zawartość pliku źródłowego.Kod wygenerowany atrybut jest widoczny tylko raz, to podczas sesji debugowania.Ponadto dla każdego pliku źródłowego w projekcie można wygenerować plik tekstowy, który wyświetla wyniki podstawiania atrybutu.Aby uzyskać więcej informacji dotyczących tej procedury, zobacz /Fx (Scal wstrzykiwana kod) i Debugowania kodu wstrzykiwana.
Podobnie jak większość konstrukcje języka C++ atrybuty mają zestaw właściwości, który definiuje ich właściwego użycia.Odnosi się do kontekstu atrybutu i skierowana jest w tabeli atrybutu kontekstu dla każdego tematu odwołanie do atrybutu.Na przykład coclass można tylko można zastosować atrybutu do istniejącej klasy lub struktury, w przeciwieństwie do cpp_quote atrybut, który może być wstawione w dowolnym miejscu w pliku źródłowym C++.