Compartilhar via


Regras do modo de lote

{frompath}.fromext{topath}.toext::
   commands

As regras de inferência de lotes fornecem apenas uma invocação da regra de inferência quando comandos n passam por esta regra de inferência de tipos.Sem regras de inferência de tipos de lotes, ele exigiria n comandos a ser invocado.N é o número de dependentes que disparam a regra de inferência de tipos.

Makefiles que contêm regras de inferência de tipos de lotes deve usar NMAKE versão 1.62 ou superior.Para verificar a versão NMAKE, execute a macro _NMAKE_VER disponível com NMAKE versão 1.62 ou superior.Esta macro retorna um string que representa a versão do produto Visual C++.

A diferença sintática somente da regra padrão de inferência de tipos é que a regra de inferência de tipos de lotes é encerrada com dois-pontos duplo (::).

ObservaçãoObservação

A ferramenta que está sendo chamada deve ser capaz de lidar com vários arquivos.A regra de inferência de tipos de lotes deve usar $< que a macro para acessar os arquivos dependentes.

As regras de inferência de tipos de modo de lote podem acelerar o processo de compilação.Ele é mais rápido para fornecer os arquivos para o compilador em lote, porque o driver do compilador é chamado somente uma vez.Por exemplo, o compilador c e C++ tem melhor desempenho quando estiver manipulando um conjunto de arquivos porque ele pode permanecer memória residente durante o processo.

O exemplo a seguir mostra como usar as regras de inferência de tipos de lotes:

# sample makefile to illustrate batch-mode inference rules
O = .
S = .
Objs = $O/foo1.obj $O/foo2.obj $O/foo2.obj $O/foo3.obj $O/foo4.obj
CFLAGS = -nologo

all : $(Objs)

!ifdef NOBatch
{$S}.cpp{$O}.obj:
!else
{$S}.cpp{$O}.obj::
!endif
   $(CC) $(CFLAGS) -Fd$O\ -c $<

$(Objs) :

#end of makefile

NMAKE produz a saída sem regras de inferência de tipos de lotes a seguir:

E:\tmp> nmake -f test.mak -a NOBatch=1

Microsoft (R) Program Maintenance Utility   Version 7.00.0000
Copyright (C) Microsoft Corp 1988-2001. All rights reserved.
        cl -nologo -Fd.\ -c .\foo1.cpp
foo1.cpp
        cl -nologo -Fd.\ -c .\foo2.cpp
foo2.cpp
        cl -nologo -Fd.\ -c .\foo3.cpp
foo3.cpp
        cl -nologo -Fd.\ -c .\foo4.cpp
foo4.cpp

NMAKE produz o seguinte resultado com as regras de inferência de tipos de lotes:

E:\tmp> nmake -f test.mak -a

Microsoft (R) Program Maintenance Utility   Version 7.00.0000
Copyright (C) Microsoft Corp 1988-2001. All rights reserved.

        cl -nologo -Fd.\ -c .\foo1.cpp .\foo2.cpp .\foo3.cpp .\foo4.cpp
foo1.cpp
foo2.cpp
foo3.cpp
foo4.cpp
Generating Code...

Consulte também

Conceitos

Regras de inferência de tipos