Compartilhar via


CL invoca o vinculador

CL automaticamente invoca o vinculador após a compilação, a menos que a opção /c é usada.CL passa para o vinculador, os nomes dos arquivos. obj, criados durante a compilação e os nomes de todos os outros arquivos especificados na linha de comando.O vinculador usa as opções listadas na variável de ambiente do LINK.Você pode usar a opção /link para especificar as opções de vinculador na linha de comando CL.Opções que seguem a opção /link substituirão as a variável de ambiente do LINK.As opções na tabela a seguir suprimir a vinculação.

Opção

Descrição

/c

Compilar sem vinculação

/ /P E, /EP,

Pré-processo sem compilar ou vincular

/ZG

Gerar protótipos de função

/ZS

Verifique a sintaxe

Para obter mais detalhes sobre como vincular, consulte Opções do vinculador.

Exemplo

Suponha que você está compilando os arquivos de origem de três C: MAIN.c, MOD1.c e MOD2.c.Cada arquivo inclui uma chamada para uma função definida em um arquivo diferente:

  • Main.c chama a função func1 na MOD1.c e a função func2 em MOD2.c.

  • MOD1.c chama as funções de biblioteca padrão printf_s e scanf_s.

  • MOD2.c chamadas de funções de gráficos chamadas myline e mycircle, que são definidos em uma biblioteca denominada MYGRAPH.lib.

Para criar este programa, compile com a seguinte linha de comando:

CL MAIN.c MOD1.C MOD2.C MYGRAPH.lib

Primeiro, CL compila os arquivos de código-fonte c e cria os arquivos de objeto MAIN.obj, MOD1.obj e MOD2.obj.O compilador coloca o nome da biblioteca padrão em cada arquivo. obj.Para obter mais detalhes, consulte Biblioteca de tempo de execução de uso.

CL passa os nomes dos arquivos. obj, juntamente com o nome MYGRAPH.lib, para o vinculador.O vinculador resolve as referências externas, como segue:

  1. No MAIN.obj, a referência a func1 for resolvido usando a definição em MOD1.obj; a referência a func2 for resolvido usando a definição em MOD2.obj.

  2. No MOD1.obj, as referências a printf_s e scanf_s são resolvidos usando as definições na biblioteca que o vinculador localiza denominada dentro de MOD1.obj.

  3. No MOD2.obj, as referências a myline e mycircle são resolvidos usando as definições no MYGRAPH.lib.

Consulte também

Referência

Opções do compilador

Configurando opções de compilador