Saturday, 20 January 2018

Luafilesystem binário opções


LuaFileSystem LuaFileSystem é uma biblioteca Lua desenvolvida para complementar o conjunto de funções relacionadas aos sistemas de arquivos oferecidos pela distribuição padrão Lua. LuaFileSystem oferece uma maneira portátil para acessar a estrutura de diretório subjacente e atributos de arquivo. O LuaFileSystem é um software livre e usa a mesma licença do Lua 5.x (MIT). A versão atual é 1.6.3. Funciona com Lua 5.1, 5.2 e 5.3. A fonte LuaFileSystem pode ser baixada da sua página Github. Versão 1.6.3 15Jan2017 Lua 5.3 suporte. Assorted bugfixes. Versão 1.6.2 Oct2017 Full Lua 5.2 compatibilidade (com Lua 5.1 fallbacks) Versão 1.6.1 01Oct2017 fix build para Lua 5.2 Versão 1.6.0 26Sep2017 getcwd correção para suporte Android para Lua 5.2 adicionar lfs. link outras correções de bugs Versão 1.5.0 20Oct2009 Adicionado métodos explícitos próximo e fechar para o segundo valor de retorno de lfs. dir (o objeto de diretório), para iteração explícita ou fechamento explícito. Adicionado bloqueio de diretório via função lfs. lockdir (consulte o manual). Versão 1.4.2 03Feb2009 corrigido bug lfs. attributes (nome de arquivo, tamanho) estouro em arquivos 2 Gb novamente (relatório de bugs e patch por KUBO Takehiro). Bug fixo Compile o erro no Solaris 10 (relatório de bugs e patch por Aaron B). Corrigido problemas de compilação com Borland C. Versão 1.4.1 07May2008 revisão da documentação fixa Problemas de compilação do Windows bug corrigido nos testes do Windows (patch por Shmuel Zeigerman) corrigido bug lfs. attributes (nome de arquivo, tamanho) estouro em arquivos 2 Gb Versão 1.4.0 13Feb2008 Função adicionada lfs. setmode (funciona apenas em sistemas Windows). Lfs. attributes gera um erro se o atributo não existir Versão 1.3.0 26Oct2007 adicionou função lfs. symlinkattributes (funciona apenas em sistemas não Windows). Versão 1.2.1 08May2007 compatível apenas com Lua 5.1 (suporte Lua 5.0 foi descartado) Versão 1.2 15Mar2006 adicionado argumento opcional para lfs. attributes adicionado função lfs. rmdir correção de bugs em lfs. dir Versão 1.1 30May2005 adicionou função lfs. touch. Versão 1.0 21Jan2005 Versão 1.0 Beta 10Nov2004LuaFileSystem foi desenhado por Roberto Ierusalimschy, Andreacute Carregal e Tomaacutes Guisasola como parte do Projeto Kepler. Que detém seus direitos autorais. LuaFileSystem é atualmente mantido por Faacutebio Mascarenhas. LuaFileSystem Introdução O LuaFileSystem é uma biblioteca Lua desenvolvida para complementar o conjunto de funções relacionadas aos sistemas de arquivos oferecidos pela distribuição padrão Lua. LuaFileSystem oferece uma maneira portátil para acessar a estrutura de diretório subjacente e atributos de arquivo. LuaFileSystem deve ser construído com Lua 5.1 para que a biblioteca de idiomas e arquivos de cabeçalho para a versão de destino deve ser instalado corretamente. LuaFileSystem oferece um Makefile e um arquivo de configuração separado, config. Que deve ser editado para se adequar à sua instalação antes de executar make. O arquivo tem algumas definições como caminhos para as bibliotecas externas, opções do compilador e similares. No Windows, o tempo de execução C usado para compilar o LuaFileSystem deve ser o mesmo tempo de execução que o Lua usa ou algumas funções do LuaFileSystem não funcionarão. Instalação A maneira mais fácil de instalar o LuaFileSystem é usar o LuaRocks: Se você preferir instalar o LuaFileSystem manualmente, o binário compilado deve ser copiado para um diretório em seu caminho C. LuaFileSystem oferece as seguintes funções: lfs. attributes (filepath, aname atable) Retorna uma tabela com os atributos de arquivo correspondentes a filepath (ou nil seguido de uma mensagem de erro em caso de erro). Se o segundo argumento opcional é dado e é uma string, então somente o valor do atributo named é retornado (este uso é equivalente a lfs. attributes (filepath) aname., Mas a tabela não é criada e somente um atributo é recuperado do OS). Se uma tabela é passada como o segundo argumento, ele é preenchido com atributos e retornado em vez de uma nova tabela. Os atributos são descritos como segue modo de atributo é uma seqüência de caracteres, todos os outros são números e os atributos relacionados com o tempo usam a mesma referência de tempo de os. time. Dev em sistemas Unix, isso representa o dispositivo em que o inode reside. Em sistemas Windows, representa o número de unidade do disco que contém o arquivo ino em sistemas Unix, isso representa o número de inode. Em sistemas Windows isso não tem nenhuma seqüência de modo de significado que representa o modo de proteção associado (os valores podem ser arquivo. Do proprietário (somente Unix, sempre 0 no Windows) gid group-id do proprietário (apenas Unix, sempre 0 no Windows) rdev em sistemas Unix, representa o tipo de dispositivo para inodes de arquivos especiais. Em sistemas Windows representa o mesmo que dev tempo de acesso de última modificação de acesso tempo de última modificação de dados tempo de alteração do último arquivo tamanho de tamanho de arquivo de alteração, em bytes permissões permissões de arquivos permissões de arquivos bloco de blocos alocados para arquivo (Unix somente) blksize ideal sistema de arquivos IO Blocksize (Unix somente) Esta função usa stat internamente, portanto, se o dado filepath é um link simbólico, ele é seguido (se ele aponta para outro link a cadeia é seguido recursivamente) ea informação é sobre o arquivo que se refere. Para obter informações sobre o próprio link, consulte a função lfs. symlinkattributes. Lfs. chdir (caminho) Altera o diretório de trabalho atual para o caminho indicado. Retorna true em caso de sucesso ou nil mais uma string de erro. Lfs. lockdir (path, secondsstale) Cria um lockfile (chamado lockfile. lfs) no caminho se ele não existir e retorna o bloqueio. Se o bloqueio já existe verifica se o seu obsoleto, usando o segundo parâmetro (o padrão para o segundo parâmetro é INTMAX que, na prática, significa que o bloqueio nunca será obsoleto. Para liberar o lock lock: free (). Lfs. currentdir () Retorna uma string com o diretório de trabalho atual ou nil mais uma string de erro. Iter, dirobj Lfs. dir (path) Lua iterator sobre as entradas de um determinado diretório Cada vez que o iterador é chamado com dirobj retorna um diretório entrys nome como uma string, ou nil se não há mais entradas. Você também pode iterar chamando dirobj : Próximo () e fecha explicitamente o diretório antes que a iteração termine com dirobj: close (). Gera um erro se path não é um diretório. Lfs. lock (filehandle, mode, start, length) Bloqueia um arquivo ou uma parte de Esta função funciona em arquivos abertos o identificador de arquivo deve ser especificado como o fi Primeiro argumento. O modo string pode ser r (para um bloqueio readshared) ou w (para um bloqueio writeexclusive). Os argumentos opcionais start e length podem ser usados ​​para especificar um ponto inicial e seu comprimento ambos devem ser números. Retorna true se a operação foi bem-sucedida em caso de erro, ele retorna nil mais uma seqüência de erro. Lfs. link (old, new, symlink) Cria um link. O primeiro argumento é o objeto a ser vinculado e o segundo é o nome do link. Se o terceiro argumento opcional for verdadeiro, o link será por um link simbólico (por padrão, um link rígido é criado). Lfs. mkdir (dirname) Cria um novo diretório. O argumento é o nome do novo diretório. Retorna true se a operação foi bem-sucedida em caso de erro, ele retorna nil mais uma seqüência de erro. Lfs. rmdir (dirname) Remove um diretório existente. O argumento é o nome do diretório. Retorna true se a operação foi bem-sucedida em caso de erro, ele retorna nil mais uma seqüência de erro. Lfs. setmode (file, mode) Define o modo de escrita de um arquivo. A seqüência de caracteres modo pode ser binária ou texto. Retorna true seguido da seqüência de caracteres de modo anterior para o arquivo ou nil seguido de uma seqüência de caracteres de erro em caso de erros. Em plataformas não-Windows, onde os dois modos são idênticos, definindo o modo não tem nenhum efeito eo modo é sempre retornado como binário. Lfs. symlinkattributes (filepath, aname) Idêntico a lfs. attributes exceto que ele obtém informações sobre o próprio link (não o arquivo a que se refere). No Windows essa função ainda não suporta links e é idêntica a lfs. attributes. Lfs. touch (filepath, atime, mtime) Define tempos de acesso e modificação de um arquivo. Esta função é uma função bind para utime. O primeiro argumento é o nome do arquivo, o segundo argumento (atime) é o tempo de acesso eo terceiro argumento (mtime) é o tempo de modificação. As duas vezes são fornecidas em segundos (que devem ser gerados com a função padrão Lua os. time). Se o tempo de modificação for omitido, o tempo de acesso fornecido é usado se ambas as vezes forem omitidas, a hora atual será usada. Retorna true se a operação foi bem-sucedida em caso de erro, ele retorna nil mais uma seqüência de erro. Lfs. unlock (filehandle, start, length) Desbloqueia um arquivo ou parte dele. Esta função funciona em arquivos abertos o identificador de arquivo deve ser especificado como o primeiro argumento. Os argumentos opcionais start e length podem ser usados ​​para especificar um ponto inicial e seu comprimento ambos devem ser números. Retorna true se a operação foi bem-sucedida em caso de erro, ele retorna nil mais uma string de erro. Introdução Este é um tutorial passo a passo para se levantar e correr com Lua em sistemas Microsoft Windows, baixando e compilando as fontes usando apenas livre Ferramentas ou ferramentas já presentes em qualquer instalação do Windows. Muito pouca experiência de programação é exigida do usuário. Este tutorial também pode ser de algum interesse para usuários especializados de Linux com pouco conhecimento das plataformas Windows. Se você é um programador experiente e encontrar este tutorial muito fácil ou limitado, consulte a página BuildingLua. Que é muito mais técnico e detalhado. Visão geral e pré-requisitos Suposições sobre o leitor: Tem um conhecimento geral do sistema de arquivos do Windows e sabe como executar operações básicas sobre ele usando as ferramentas fornecidas pelo OS (navegar no sistema de arquivos, copiar um arquivo, renomear um arquivo, criar um diretório, Etc). Sabe como fazer o download de um arquivo da Internet usando um navegador da web. Sabe como instalar um programa no Windows usando um instalador. Sabe o que é um arquivo de texto e como criar um usando um editor de texto (Windows Notepad é suficiente para este tutorial, mas o livremente disponíveis SciTE ou TextAdept poderia ser melhores escolhas para um programador novato). Sabe o que é um arquivo compactado e como descompactá-lo. Sabe o que é o shell de comando do Windows e como trazê-lo para cima. Sabe o que é o caminho de busca de arquivos executáveis ​​do Windows e como adicionar entradas a ele (às vezes é referido como o caminho do sistema ou simplesmente o caminho e está relacionado à variável de ambiente Windows PATH 1). Muitas das suposições acima não são exigências estritas, porque no seguinte alguns procedimentos serão explicados em detalhe, mas o leitor não deve esperar demasiado segurar em tais assuntos. O tutorial é organizado em etapas seqüenciais que podem ser descritas da seguinte forma: Baixe um compilador C adequado (TDM GCC). Faça o download do pacote fonte Lua. Faça o download de um descompressor para o pacote fonte Lua (7-zip). Instale o compilador. Instale o descompressor. Descompacte o arquivo em um local adequado. Configurar o compilador de tal forma que ele pode encontrar as fontes e iniciar o processo de construção (vamos usar um script de shell de comando do Windows para fazer isso). Nota importante: recomendamos que leia esta página na sua totalidade antes de começar com o procedimento. Certifique-se de ter entendido tudo com antecedência: isso poderia poupar algum tempo e problemas mais tarde. Nota: o procedimento foi testado, usando uma conta com privilégios administrativos, em uma máquina x86 de 32 bits executando o Windows XP Professional com Service Pack 3 (SP3) instalado ( Intel Mobile Core 2 Duo T7500 - 2 GB de RAM). O compilador usado é TDM GCC 4.9.2 (versão de 32 bits). Nota: com o passar do tempo, alguns dos links aqui contidos podem ficar desatualizados. É por isso que abaixo damos não apenas os links diretos para pacotes, mas também o link para as páginas principais para as aplicações envolvidas. Isso deve permitir que o leitor motivado se adapte às mudanças óbvias (por exemplo, compensar futuros números de versão nos links) navegando nos sites por si mesmo, caso essa página não seja atualizada. Passo a Passo Tutorial Passo 1: Baixe o Compilador (TDM-GCC) Usaremos a porta do Windows do compilador GCC de código aberto pelo TDM. A página de download é encontrada em 2. enquanto o seguinte é o link direto para o pacote que precisamos: 3. Clique no link anterior, siga as instruções e aguarde até que o download seja concluído. O arquivo baixado deve ser tdm-gcc-4.9.2.exe. Trata-se de um download de 30 MB, por isso certifique-se de ter uma conexão rápida à Internet. Para evitar possíveis problemas, verifique se o pacote baixado está em um diretório (pasta) cujo caminho completo não contém espaços. Se esse não for o caso, copie ou mova-o em um diretório que atenda a este requisito. Todos os pacotes que o download bem deve terminar neste diretório (vamos usá-lo como um diretório de trabalho temporário para todo o tutorial). Para o propósito deste tutorial, vamos assumir que você criou a seguinte pasta como um diretório de trabalho: Copie (ou mova) o pacote de instalação que você acabou de baixar no diretório de trabalho, se você não fez o download lá em primeiro lugar. Agora, o nosso diretório de trabalho deve ter o seguinte conteúdo: Etapa 2: Download Lua fontes Lua página de download de fontes é 4. Este é o link dowload direto para a versão mais recente no momento desta escrita: 5. Clique no link anterior, siga o Instruções e aguarde até que o download seja concluído. Certifique-se de que o arquivo que você baixar está no diretório C: gcc-lua-install (ou copymove lá depois do download - nós não vamos reafirmar isso). Agora temos dois arquivos em nosso diretório de trabalho: Etapa 3: Baixe um Decompressor (7-Zip) para fontes Lua Fontes Lua são empacotadas em um formato de arquivo muito comum em plataformas Linux, mas que é incomum no Windows: o formato TAR-GZ , Como sugerido pela extensão. tar. gz dupla do arquivo. Os sistemas operacionais Windows não podem descompactar esse formato nativamente, portanto precisamos de um programa que possa fazer isso. Um programa de compressão e compressão livre muito bom e versátil para Windows que pode manipular arquivos TAR-GZ (e muitos outros formatos compactados) é 7-zip. Como queremos manter o processo tão simples quanto possível, não usaremos o pacote de instalação original de 7-zip, porque este último modifica o sistema quando ele é instalado. Em vez disso, usaremos uma distribuição alternativa empacotada pela PortableApps e disponível na página: 6. Clique no link de download, siga as instruções e aguarde até que o download seja concluído. Certifique-se de que também este arquivo está em nosso diretório de trabalho. Agora temos três arquivos em nosso diretório de trabalho: Passo 4: Instalar o Compilador Agora navegue com o Windows Explorer. Windows gráfico gerenciador de arquivos (este não é Internet Explorer), em nosso diretório de trabalho e executar o instalador compiladores, clicando duas vezes em tdm-gcc-4.9.2.exe. Uma caixa de diálogo deve aparecer. Desmarque a opção Verificar se há arquivos atualizados no servidor TDM-GCC. Pressione o botão Criar. Na caixa de edição que aparece, especifique C: gcc-lua-installtdm-gcc como diretório de instalação. Prima o botão Seguinte. Na árvore de seleção que aparece, role até o final e desmarque as opções Itens do menu Iniciar e Adicionar ao PATH (esta etapa não é estritamente necessária, mas garante que a instalação do compilador deixa o sistema completamente limpo, além de extrair os arquivos para o diretório especificado acima). Pressione o botão Instalar e aguarde até que a instalação seja concluída. Quando o instalador declara a instalação bem-sucedida, pressione o botão Avançar. Pressione o botão Concluir (você pode ler o arquivo Leiame ou não - não é necessário para nossos propósitos). O conteúdo atual do nosso diretório de trabalho agora deve ser: com o último item sendo o subdiretório onde o compilador está agora instalado (observe que no Windows Explorer esses itens provavelmente serão exibidos em uma ordem diferente). Etapa 5: Instalar o Decompressor Agora execute o instalador portátil 7-zip clicando duas vezes no arquivo 7-ZipPortable9.20Rev2.paf. exe dentro de nosso diretório de trabalho. Uma caixa de diálogo deve aparecer. Selecione Inglês como idioma (isso não é estritamente necessário, mas caso contrário, as instruções a seguir podem não corresponder às mensagens nas caixas de diálogo que você verá). Pressione o botão OK. Prima o botão Seguinte. Na caixa de edição que aparece, especifique C: gcc-lua-install7zip como pasta de destino. Pressione o botão Instalar e aguarde até que a instalação seja concluída. Pressione o botão Concluir. O conteúdo atual de nosso diretório de trabalho agora deve ser: com o último item sendo o subdiretório onde 7-zip está agora instalado. Etapa 6: Descompacte fontes Lua usando o 7-Zip Navegue no diretório de instalação do 7-zip (por exemplo, C: gcc-lua-install7zip) e dê um duplo clique no arquivo 7-ZipPortable. exe. Isso irá executar 7-zip e abrir a janela principal de programas, que vagamente se assemelha Windows Explorer. Usando 7-janela de fecho de correr. Navegue até nosso diretório de trabalho (por exemplo, você pode copiar e colar C: gcc-lua-install em sua barra de localização e pressionar Return). Dentro da janela 7-zip, clique duas vezes no arquivo de pacote Lua (lua-5.3.0.tar. gz), você deve ver os internos do pacote como uma única pasta chamada lua-5.3.0.tar. Clique duas vezes em lua-5.3.0.tar. Você deve entrar nessa pasta e ver outra pasta chamada lua-5.3.0. Clique com o botão direito do mouse em lua-5.3.0. Um menu de contexto deve aparecer. Selecione Copiar para. Opção a partir desse menu. Uma caixa de diálogo com uma legenda Copiar deve aparecer. Especifique o nosso diretório de trabalho (C: gcc-lua-install) nessa caixa de diálogo como destino e pressione Ok. Fechar janela de 7-zip, não precisamos mais dela. Agora procure em nosso diretório de trabalho e verifique: um novo subdiretório chamado lua-5.3.0 deve estar presente. O conteúdo atual do nosso diretório de trabalho agora deve ser: com o último item sendo o subdiretório onde as fontes Lua foram descompactadas. Etapa 6: Criar um script de shell do Windows para direcionar a compilação O leitor deve criar um arquivo de texto chamado build. cmd no nosso diretório de trabalho e copiar e colar o seguinte texto dentro dele. O conteúdo atual do nosso diretório de trabalho agora deve ser: Agora execute o script shell clicando duas vezes em build. cmd. Uma janela com um fundo preto deve aparecer. Dentro dele você deve ver as mensagens produzidas pelo script como ele funciona (a maioria deles são do GCC durante a compilação de fontes Lua). Isso pode demorar um pouco, mas depende muito do desempenho do seu PC. Com nosso sistema de teste demorou cerca de um minuto, mas esse era um sistema bastante antigo. Após a conclusão da compilação, o script também criará uma distribuição binária limpa (ou seja, sem arquivos de origem desnecessários) em nosso diretório de trabalho e executará um teste simples que imprimirá uma mensagem de boas vindas antes de terminar. Você deve ver essa mensagem auto-explicativa no final da saída na janela preta. Agora você pode fechar a janela preta. O conteúdo atual de nosso diretório de trabalho agora deve ser: Etapa 7: Copiar a Instalação Binária Lua em um Local Adequado O diretório C: gcc-lua-installlua agora contém tudo é necessário para executar um script Lua. Você pode copiar este diretório com seu conteúdo sempre que você achar conveniente (mesmo em uma pen drive USB). A estrutura interna do diretório de instalação binária do lua deve ser a seguinte: No subdiretório bin você encontrará lua. exe. O interpretador Lua (se você clicar duas vezes nele ele será executado no modo interativo), enquanto que no subdiretório doc você encontrará o manual de referência Lua. Etapa 8: Configurar o sistema para executar arquivos Lua Se você quiser ser capaz de digitar: para executar myscript. lua a partir da linha de comando, você deve colocar o subdiretório Lua bin no caminho de pesquisa do Windows. Comentários de conclusão Depois de ter copiado o subdiretório lua em seu local final, você pode excluir completamente o diretório de trabalho com todo o seu conteúdo. No entanto, você pode salvar muitas coisas úteis com facilidade: Os pacotes de instalação lua-5.3.0.tar. gz. Tdm-gcc-4.9.2.exe e 7-ZipPortable9.20Rev3.paf. exe podem ser guardados para futuras necessidades ou fins de backup. O diretório de instalação do GCC dir tdm-gcc pode ser copiado ou movido para onde você quiser (cuidado para não colocá-lo em um diretório com espaços) e as ferramentas dentro do tdm-gccbin podem ser chamadas diretamente da linha de comando (você deve adicionar tdm - gcc no caminho de pesquisa do Windows, se você quiser evitar especificar seu caminho completo, no entanto). O diretório de instalação de 7-zip também é totalmente relocável (portátil, como não-programador usuários do Windows diria, mas a portabilidade na programação tem outro significado 7). Assim você pode movecopy onde quiser e iniciar 7-zip executando o 7-ZipPortable. exe executável dentro. É tão leve que se encaixa muito bem também em um pendrive Se você está curioso, você também pode explorar o diretório e dar uma olhada dentro das fontes Lua, mas você precisa ser um programador C para entender a maioria deles Divirta-se com Lua.

No comments:

Post a Comment