4D v16.3

Introdução

Página Inicial

 
4D v16.3
Introdução

Introdução  


 

 

È possível compilar seu aplicativo, ou seja, traduzir todos seus sistemas para a linguagem de máquina. A compilação de um banco de dados permite verificar a coerência do código e acelerar sua execução, como também possibilita proteger integralmente o código. A compilação é uma etapa indispensável entre o desenvolvimento de bancos de dados utilizando 4D e a implantação de aplicativos autônomos.

O processo da compilação é completamente automático; contudo, a compilação requer mais rigor na escrita do código 4D. A seção “ Compilador do Manual de linguagem 4D oferece conselhos e informações específicas relacionados à programação tendo em vista a compilação. Além disso, lembre-se de que o compilador lhe indicará erros de programação e os situará no contexto.

Um computador é uma máquina na qual os comandos são escritos utilizando unicamente “0” e “1”. Esta linguagem binária é chamada linguagem de máquina. O coração da máquina, o microprocessador, só entende esta linguagem. Um programa escrito em qualquer linguagem de programação de alto nivel (C, C++, Java, BASIC, 4D, etc.) é primeiro traduzido à linguagem de máquina, de maneira que o microprocessador do computador o entenda.
 
Há duas formas de se fazer isso:

  • As instruções podem ser traduzidas durante a execução; o programa é então interpretado.
  • As instruções são traduzidas como um todo antes da execução do programa; o programa é então compilado.

Quando uma série das instruções é executada usando um intérprete, o processo é separado assim:

  • o programa lê a instrução na linguagem do programa,
  • traduz a instrução para a linguagem de máquina,
  • executa a instrução.

Este ciclo é executado para cada uma das instruções no programa. O programa que maneja a execução deste tipo de ciclo é chamado interpreter. Em um banco de dados em desevolvimento, os métodos de 4D são interpretados.

Um programa compilado é completamente traduzido antes da sua execução. Este processo resulta em uma série de instruções na linguagem de máquina. Esta série pode ser salva e utilizada várias vezes. Desta forma, a fase de tradução é realizada só uma vez e a versão compilada do programa está disponível para ser executada repetidamente.

Esta fase é completamente independente de qualquer uso do programa. O programa que gerencia a tradução se chama compilador.

O compilador de 4D compila os sistemas do banco de dados, os sistemas de projeto, os triggers, os sistemas de formulário e os sistemas de objeto. Se não há nenhum destes elementos em um aplicativo, o compilador não terá nada para compilar.

Quando se completa a compilação com sucesso, a utilização do banco de dados compilado será idêntica à do banco de dados original.

O primeiro benefício da compilação é a velocidade de execução. Há dois benefícios adicionais relacionados diretamente com a compilação:

  • Verificação sistemática de seu código,
  • Proteção de seus bancos de dados e componentes.

O aumento na velocidade se deve a duas características do código compilado: a tradução direta e definitiva do código e o acesso direto aos endereços das variáveis e dos sistemas.

  • Tradução direta e definitiva do código.
    O código dos sistemas escritos em 4D será traduzido uma única vez com o compilador. Quando se utiliza um banco de dados compilado, salva-se o tempo requerido no modo interpretado para traduzir todas as instruções. Por exemplo, um loop que contém uma sequência de instruções que se repete 50 vezes:
     For($i;1;50)
      `Sequência de instruções
     End for

    Cada instrução da sequência é traduzida 50 vezes em um banco de dados interpretado. Utilizando o compilador, elimina-se a fase de tradução de cada instrução da sequência. Para cada instrução da sequência, salvamos 50 traduções.
  • O acesso direto aos sentidos das variáveis e dos métodos
    Em bancos de dados interpretados, o acesso às variáveis ocorre por intermédio de um nome. Consequentemente, 4D deve acessar o nome para acessar o valor da variável.
    No código compilado, o compilador associa um endereço a cada variável, escreve diretamente o endereço da variável no código e vai diretamente ao endereço quando é necessário.
    Notas:
    - As operações que requerem o acesso direto ao disco podem não ser afetadas porque sua velocidade de execução é limitada pela velocidade da transmissão entre o computador e seus periféricos (unidades do armazenamento ou do disco rígido).
    - Os comentários não são traduzidos, conseqüentemente eles não aparecem no modo compilado. Portanto, os comentários não afetam o tempo de execução no modo compilado.

O compilador funciona também como um verificador da sintaxe de seus bancos de dados. O compilador revisa seu código sistematicamente e observa possíveis ambiguidades, enquanto 4D só o faz quando executa o método.

Suponha que um de seus métodos contenha uma série de testes e de sequências de instruções para executar. É improvável que você teste todos os casos completamente, se o número de testes for muito grande. Neste caso, um erro da sintaxe em um caso testado pode não aparecer até que um usuário final o encontre.

Este tipo de problema é evitado quando se usa um banco de dados compilado. Quando se compila um banco de dados, o compilador escaneia todo o banco de dados e analisa cada instrução. O compilador detecta qualquer anormalidade e gera uma mensagem de erro ou de aviso.

Quando tiver compilado o seu banco de dados, é possível utilizar o gerador de aplicações para apagar o código interpretado. Neste caso, o acesso ao ambiente de Desenho (exceto para registros) é bloqueado. Para maiores informações sobre o gerador de aplicações, consulte Finalizar e distribuir aplicativos

Em um banco de dados compilado, os comandos relacionados ao desenvolvimento estão desativados:

Quando um componente compilado é instalado em um banco de dados local, os sistemas de projeto compartilhados são acessíveis no Explorador e podem ser chamados nos sistemas do banco de dados local, porém seus conteúdos não aparecem na área de previsualização nem no depurador. Os outros sistemas de projeto do componente não aparecem mais. Para maiores informações sobre componentes, consulte o capítulo Desenvolver e instalar componentes 4D.

Os beneficios são:

  • o desenvolvimento do banco de dados não pode ser modificado voluntária ou involuntariamente,
  • agora seus sistemas estão protegidos.

O compilador está integrado a 4D. A compilação de um banco de dados é efetuada utilizando a caixa de diálogo a seguir:

Também é possível iniciar diretamente uma compilação com os parâmetros atuais através do comando Start Compilation que se encontra no menu Desenho e no menu associado ao botão “Compilador” da barra de ferramentas.

A compilação é efetuada levando em conta opções genéricas de compilação, configuradas na  Página Compilador Preferências:

Uma vez compilado o banco de dados, ainda é possível em qualquer momento trocar de modo interpretado para modo compilado e vice-versa, usando os comandos Reiniciar em interpretado e Reiniciar em compilado através do menu Executar, sem ter que sair da aplicação 4D, exceto quando se apaga o código interpretado (ver o parágrafo anterior).

A caixa de diálogo de abertura do banco de dados também permite escolher o modo interpretado ou compilado ao se iniciar o banco de dados  (ver Opções da Caixa de diálogo de Abertura). 

Se você modificar a estrutura de seu banco de dados em modo interpretado, deve recompilá-lo para se levar em conta as mudanças no modo compilado.

Quando se passa de um modo para outro, 4D fecha o modo atual e abre o novo modo. Este funcionamento requer a saída e reabertura do aplicativo. Por isso, cada vez que se passa de um modo para outro, 4D executa os sistemas do banco de dados (se especificado) nesta ordem: Método banco de dados On Exit -> Método banco de dados On Startup

 
PROPRIEDADES 

Produto: 4D
Tema: Compilação

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de Desenho 4D ( 4D v16)
Manual de Desenho 4D ( 4D v16.1)
Manual de Desenho 4D ( 4D v16.3)