Graças ao compilador prismac aceitar argumentos em linha de comando, tanto no Linux quanto no Windows,
você não fica preso a uma ide. Pode user qualquer uma e depois compilar pelo terminal ou pelo cmd.
Dica.: é possível fazer um utilitário gráfico para compilar os fontes usando a biblioteca ig
E descobri uma forma de embutir o caminho do interpretador no bytecode compilado pelo prismac.
1 - Compile normalmente:
prismac -o programa fonte1.prisma fonte2.prisma principal.prisma
Veja que deixei principal.prisma no final pois este fonte usa funções dos outros fontes.
2 - Embutindo o caminho do interpretador
Faça um script prisma usando o seguinte código:
local path, ext; //criando variável local sem valor ainda
se sis.nome == 'win32' entao
path = '#!"C:\\Prisma\\1.0\\bin\\prisma.exe"';
ext = '.pbrexe';
senao
path = '#!/usr/local/bin/prisma';
//no linux o executável não tem extensão.
fim
funcao def_executavel(arq)
local prog_bin;
se tipo(arq) == 'string' entao
local a = es.abra(arq, 'leiturabin');
se a entao
prog_bin = a:leia("*t")
a:feche();
senao
erro'erro ao tentar abrir arquivo';
fim
fim
se prog_bin entao
local result = path .. '\n' .. prog_bin;//veja que é necessário nova linha
se ext entao
local p, tmp = sis.nome_arquivo(arq);//pega a pasta e o nome do arquivo sem extensão
arq = p .. tmp .. '.' .. ext;
senao
arq = arq .. '.out';
fim
local a = es.abra(arq, 'escritabin');
se a entao
a:escreva(result);//finalmente gravamos o arquivo em modo binário.
a:feche();
se sis.nome =='linux' entao
sis.execute('chmod +x ' .. arq);//definindo permissão como executável.
fim
senao
erro'erro ao tentar abrir arquivo de saida';
fim
fim
fim
poe'Digite o nome ou caminho do arquivo';
local arq = leia();
def_executavel(arq);
poe('Processo terminado verifique a saida')
Usando a função acima basta colocar seu programa em bytecode no diretório bin e executá-lo normalmente.
No Windows é diferente, basta associar a extensão ao interpretador prisma, isso já foi feito se você usou o
instalador gui.
Isso muito útil para cgis tanto em Linux quanto em Windows, assim se você quiser ocultar o código basta usar
este comando que o navegador executará normalmente.
Usando o pric, isso é feito automaticamente.
Lembrando que no pric o programa principal tem de vir antes dos outros fontes.
Espero que seja útil essa dica. Até logo.