# 9.2. Opções de Compilador

A página de opções do compilador define os parâmetros do compilador em relação ao seu alvo, depuração e outras.

## 9.2.1. Alvo

A caixa de alvo contém três opções que podem ser definidas:

Máquina Alvo: Tem a possibilidade de definir a máquina alvo escolhendo entre a sua máquina (defeito) e i386v, que é a opção se tiver definido o seu compilador como sendo compilador-cruzado para uma máquina Intel 386-compatível correndo System V. Esta opção define o parâmetro -b para o compilador. Normalmente deixaria isto como sendo o defeito.

apenas verificação de sintaxe: Se activo, o parâmetro -fsyntax-only é definido. Isto significa que o compilador irá verificar o seu código apenas por correcção no que toca à sintaxe, mas não verifica mais nada para além disso.

Optimizar: Pode activar optimização para o seu processo de construção através desta opção, o que significa que é definido o parâmetro -O. Se inactivo, o parâmetro é definido para -O0, pelo que nenhuma optimização será utilizada. Se activar optimização seleccionando esta opção, pode também especificar o nível de optimização entre 1 e 3.

Para uma versão de distribuição da sua aplicação, active a optimização e defina o nível para 2.

## 9.2.2. Depuração

À direita da caixa de Alvo, pode ver a secção de Depuração. Isto significa que você pode definir o seu compilador para incluir informação para depuradores dentro do binário final, para que o programador possa seguir a execução da aplicação com o depurador em contexto directo com o código fonte.

Activar a defpuração assim define o parâmetro -g; o nível de depuração especifica a quantidade de informação a ser incluida no binário. Disponíveis estão os níveis 1 até 3 para escolher. Lembre-se que a execução do binário será mais lenta se definir quaisquer opções de depuração e que o tamanho do binário será tanto maior quanto o nível de depuração.

Gerar informação extra para o gprof: define o parâmetro -pg, resultando em que o compilador irá incluir informação para o programa gprof que apresenta gráficos de chamadas das funções do seu programa.

Guardar ficheiros temporários intermédios: define o parâmetro -save-temps. Isto irá resultar no armazenamento dos normais ficheiros temporários produzidos pelo preprocessador e o assemblador. A compilação de um ficheiro de código irá assim produzir três ficheiros finais: um ficheiro *.o que é o resultado final do compilador, um ficheiro *.i produzido pelo preprocessador e um ficheiro *.s que é o resultado final do assemblador.

Para a distribuição do seu projecto, desactive a depuração.

## 9.2.3. Opções Adicionais

O campo de entrada de texto em baixo destina-se a que introduza manualmente quaisquer parâmetros para o compilador definindo as variáveis de ambiente CXXFLAGS nos makefiles, para que o make defina os parâmetros antes do processo de construção e os desligue depois. Para uma descrição completa de todos os parâmetros de compilador disponíveis deverá ler a documentação do seu compilador; para o gcc e egcs isto pode ser feito através de man gcc; man g++ irá mostrar-lhe informação sobre o script c++ que é utilizado para coordenar o compilador.