Tcl/Tk
Curso On-Line de Programação

Compilando e empacotando programas

Existem diversos compiladores Tcl disponíveis na Internet, contudo, na minha opinião, o melhor deles é o freeWrap. Um empacotador que transforma seus scripts Tcl em programas executáveis, extremamente compactos.

O freeWrap cria executáveis com aproximadamente 400KB, no Linux, e 500KB no Windows, totalmente auto-contidos: nenhuma biblioteca ou programa adicional será necessário para executá-los.

Para converter um script Tcl em um programa executável utilize a seguinte síntaxe:

freewrap arquivo.tcl


Caso o seu programa Tcl seja formado apenas pelo script arquivo.tcl, será criado um executável arquivo.exe, no Windows, ou arquivo, no Linux.

A sintaxe geral do freeWrap é a seguinte:

freewrap script_principal.tcl [-e] [-f lista_de_arquivos] [-p lista_de_pacotes] [arquivo... arquivo]


Onde programa_principal.tcl é o nome do script principal do seu programa, lista_de_arquivos é um arquivo de texto contendo os nomes de todos os arquivos que devem ser embutidos no executável, lista_de_pacotes é um arquivo de texto contendo os nomes de todos os arquivos que devem ser empacotados no executável, e arquivo é o nome de um ou mais arquivos que devem ser embutidos no executável. A opção -e desliga a criptografia do código, que é ligada por padrão.

De um modo geral, qualquer tipo de arquivo pode ser embutido em um executável criado com o freeWrap. Você pode empacotar ícones, bibliotecas em Tcl, DLLs, arquivos HTML, imagens em formatos diversos etc.

Os scripts empacotados poderão ser carregados com o comando source:

source arquivo.tcl


Imagens poderão ser carregadas com o comando image:

image create photo imagem -file imagem.gif


Bibliotecas de carga dinâmica poderão ser carregadas com o comando load:

load biblioteca.so
load biblioteca.dll


Arquivos em formato texto ou binários poderão ser aberto com o comando open:

open arquivo [modo] [permissões]


O freeWrap inclui a extensão WINICO, disponível somente para o Windows, que permite atribuir um ícone no formato do Windows, a uma janela. O winico não é capaz de ler um arquivo de ícone embutido: você terá que salvá-lo no disco antes de usá-lo. Para tanto, leia-o de dentro do executável usando os comandos open e read, configurando o canal para o modo de tradução binário( -translation binary ) e salve-o no disco rígido usando os comandos open e puts -nonewline. Em seguida utilize os comandos winico create e winico setwindow para atribuir o ícone à janela. Veja o exemplo:

set icofile smiley.ico

if {[file exists $icofile]} {
    set tmpfile c:/windows/temp/$icofile

    set fin [open $icofile r]
    fconfigure $fin -translation binary

    set fout [open $tmpfile w]
    fconfigure $fout -translation binary

    puts -nonewline $fout [read $fin]

    close $fin
    close $fout

    set ico [winico create $tmpfile]
    winico setwindow . $ico
}


Para uma descrição detalhada de todos os recursos do freeWrap, consulte a documentação do programa.

Para maiores informações envie e-mail para info@souzamonteiro.com.


http://www.souzamonteiro.com
info@souzamonteiro.com

Copyright(C) 2000 by Roberto Luiz Souza Monteiro