CL invoca o vinculador
O CL invocada automaticamente o vinculador depois de criar a menos que a opção /c é usada. Passagens de CL ao vinculador os nomes dos arquivos de .obj criados durante a compilação e os nomes de outros arquivos especificados na linha de comando. O vinculador usa as opções listadas na variável de ambiente de LINK. Você pode usar a opção /link para especificar opções do vinculador na linha de comando de CL. Opções que seguem a substituição da opção /link aqueles na variável de ambiente de LINK. As opções na tabela a seguir suprimem vincular.
Opção |
Descrição |
---|---|
/c |
Construir sem vincular |
/E, /EP, /P |
Preprocess sem compilar ou vincular |
/Zg |
Gerencia protótipos de função |
/Zs |
Verifique a sintaxe |
Para obter detalhes adicionais sobre vincular, consulte Opções do vinculador.
Exemplo
Suponha que você está criando três arquivos de origem de C: 2.0 MAIN.c, MOD1.c, e. MOD2.c. Cada arquivo inclui uma chamada a 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 chama as funções da biblioteca printf_s e scanf_sdo padrão.
MOD2.c chama as funções dos gráficos myline nomeadas e mycircle, que são definidas em uma biblioteca MYGRAPH.lib nomeada.
Para criar esse programa, compile com a seguinte linha de comando:
CL MAIN.c MOD1.C MOD2.C MYGRAPH.lib
CL O primeiro os arquivos de origem cria C e cria arquivos de objeto MAIN.obj, MOD1.obj, e MOD2.obj. O compilador coloca o nome da biblioteca padrão em cada arquivo de .obj. Para obter mais detalhes, consulte Use a biblioteca de tempo de execução.
O CL transmite os nomes dos arquivos de .obj, junto com o nome MYGRAPH.lib, ao vinculador. O vinculador resolve as referências externas como segue:
Em MAIN.obj, a referência a func1 é resolvida usando a definição em MOD1.obj; a referência a func2 é resolvida usando a definição em MOD2.obj.
Em MOD1.obj, as referências a printf_s e scanf_s são resolvidos usando as definições que encontra na biblioteca do vinculador denominado dentro de MOD1.obj.
Em MOD2.obj, as referências a myline e mycircle são resolvidos usando as definições em MYGRAPH.lib.