patsubst
, patsubsti
funkcje NMAKE
Oblicza listę elementów z każdym elementem zgodnym ze wzorcem zastąpionym przez podstawienie, a elementy, które nie są zgodne z elementami przechowywanymi zgodnie z rzeczywistym użyciem.
Składnia
$(patsubst pattern,replacement,input)
$(patsubsti pattern,replacement,input)
Parametry
pattern
Wzorzec do wyszukania.
replacement
Wzorzec, który ma zastąpić pattern
elementem . Jeśli symbol wieloznaczny znajduje się w replacement
elemecie , zostanie zastąpiony tekstem zgodnym z symbolem wieloznacznymi pattern
.
input
Lista elementów, które mają być zastępowane lub przechowywane.
Wartość zwracana
Zwraca wartość input
, ale każdy element, który pasuje pattern
, jest zastępowany przez replacement
element . Elementy, które nie są zgodne pattern
, są przechowywane w taki sposób, jak jest.
Uwagi
patsubsti
jest wersją bez uwzględniania wielkości liter w pliku patsubst
.
Ta funkcja makra jest dostępna w programie Visual Studio 2022 w wersji 17.1 w programie NMAKE w wersji 14.31 lub nowszej.
Przykład
$(patsubst He%,_%_,Hello Hey Hi) # Evaluates to "_llo_ _y_ Hi"
# "He" matches "Hello" and "Hey", and so "llo" and "y" are matched by the wildcard
# and used to substitute the wildcard in the replacement. "Hi" is not matched and so is kept as-is
$(patsubst Hi,Bye,Hello Hey Hi) # Evaluates to "Hello Hey Bye" - No wildcard is required
$(patsubst %lo,Bye,Hello Hey Hi) # Evaluates to "Bye Hey Hi"
# A wildcard can be used in the pattern without a wildcard in the replacement
$(patsubst he%,_%_,Hello Hey Hi) # Evaluates to "Hello Hey Hi" - patsubst is case-sensitive, so no substitutions performed
$(patsubsti he%,_%_,Hello Hey Hi) # Evaluates to "_llo_ _y_ Hi" - patsubsti is case-insensitive
# patsubsti is commonly used to change the file extensions of a list of files
OBJ_FILES=$(patsubst %.c,%.obj,$(C_SOURCES)) $(patsubst %.cpp,%.obj,$(patsubst %.cxx,%.obj,$(CPP_SOURCES)))
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla