comment pragma

Umieszcza rekord komentarza w pliku obiektu lub pliku wykonywalnego.

Składnia

#pragma comment(comment-type [ , "comment-string" ] )

Uwagi

Typ komentarza jest jednym ze wstępnie zdefiniowanych identyfikatorów opisanych poniżej, który określa typ rekordu komentarza. Opcjonalny ciąg komentarza to literał ciągu, który udostępnia dodatkowe informacje dla niektórych typów komentarzy. Ponieważ ciąg komentarza jest literału ciągu, przestrzega wszystkich reguł literałów ciągu przy użyciu znaków ucieczki, osadzonych cudzysłowów (") i skojarzenia.

compiler

Umieszcza nazwę i numer wersji kompilatora w pliku obiektu. Ten rekord komentarza jest ignorowany przez linker. W przypadku popisania parametru ciągu komentarza dla tego typu rekordu kompilator wygeneruje ostrzeżenie.

Lib

Umieszcza rekord wyszukiwania w bibliotece w pliku obiektu. Temu typowi komentarza musi towarzyszyć parametr ciągu komentarza , który ma nazwę (i prawdopodobnie ścieżkę) biblioteki, która ma być przeszukiwana przez linker. Nazwa biblioteki jest zgodna z domyślnymi rekordami wyszukiwania w bibliotece w pliku obiektów. Linker wyszukuje tę bibliotekę w taki sam sposób, jak w przypadku jej określonej w wierszu polecenia, o ile biblioteka nie jest określona za pomocą polecenia /nodefaultlib. W tym samym pliku źródłowym można umieścić wiele rekordów wyszukiwania w bibliotece. Każdy rekord pojawia się w pliku obiektu w tej samej kolejności, w która znajduje się w pliku źródłowym.

Jeśli kolejność biblioteki domyślnej i dodanej biblioteki jest ważna, /Zl kompilowanie z przełącznikiem zapobiegnie umieszczeniu domyślnej nazwy biblioteki w module obiektu. Następnie można użyć pragma drugiego komentarza, aby wstawić nazwę biblioteki domyślnej po dodanej bibliotece. Biblioteki wymienione z tymi dyrektywami pragma będą wyświetlane w module obiektu w tej samej kolejności, w których znajdują się w kodzie źródłowym.

konsolidator

Umieszcza opcję łączenia w pliku obiektu. Ten typ komentarza umożliwia określenie opcji łączenia zamiast przekazywania jej do wiersza polecenia lub określania jej w środowisku dewelopera. Na przykład można określić /include opcji, aby wymusić dołączenie symbolu:

#pragma comment(linker, "/include:__mySymbol")

Do identyfikatora linkera są dostępne tylko następujące opcje (typu komentarza):

użytkownik

Umieszcza komentarz ogólny w pliku obiektu. Parametr comment-string zawiera tekst komentarza. Ten rekord komentarza jest ignorowany przez linker.

Przykłady

Poniżej przedstawiono pragma przyczyny wyszukiwania przez linker funkcji EMAPI. Biblioteka LIB podczas łączenia. Linker przeszukuje najpierw w bieżącym katalogu pracy, a następnie w ścieżce określonej w zmiennej środowiskowej LIB.

#pragma comment( lib, "emapi" )

Następujące przyczyny pragma powodują, że kompilator umieszcza nazwę i numer wersji kompilatora w pliku obiektu:

#pragma comment( compiler )

W przypadku komentarzy, które używają parametru ciągu komentarza, można użyć makra w dowolnym miejscu, w którym można użyć literału ciągu, o ile makro rozwinie się do literału ciągu. Można również skojarzć dowolną kombinację literałów ciągów i makr, które rozszerzają się do literałów ciągów. Na przykład następująca instrukcja jest dopuszczalna:

#pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ )

Zobacz też

Dyrektywy pragma i słowa kluczowe __pragma i _Pragma