Partilhar via


O vinculador de Invokes CL

CL automaticamente invoca o vinculador após a compilação, a menos que a opção /c seja usada.CL passa para o vinculador os nomes dos arquivos .obj criados durante a compilação e os nomes de quaisquer 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 o 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 /EP, E,

Pré-processar sem compilar ou vincular

/Zg

Gerar protótipos de função

/Zs

Verificar sintaxe

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

Exemplo

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

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

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

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

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

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

CL primeiro 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 Usar a biblioteca de time de execução.

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

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

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

  3. Em 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

Opções de compilador configuração