Thursday, 29 December 2016

Iar 0b Binary Options

Traduzir AVR assembly código fonte de Atmels assembler para IARs assembler Introdução Os dois mais amplamente utilizados montadores para Atmels AVR arquitetura são Atmels próprio montador eo IAR Assembler. Muitas notas de aplicação, bem como outro software foram escritos para uso com Atmels assembler. Se o código fonte vai ser montado em arquivos de objeto e vinculado a outros arquivos de objeto produzidos por exemplo, os compiladores IAR Systems C e EC, eles devem ser convertidos para se adaptarem à sintaxe de sistemas IAR. Este documento descreve como traduzir o código fonte. Disclaimer É de sua responsabilidade garantir que a tradução esteja correta. IAR Systems não garante a correção. Esta ferramenta pretende ser um auxiliar na primeira etapa de um processo de tradução. Usando o programa Atmel2iar conversor conversor Atmel2iar executa em Windows 95/98/2000 e Windows NT 4.0. Para executar o programa a partir da linha de comando, digite: gtAtmel2iar. exe Pr. asm - d conversion. log Atmel para IAR assembler translator, V1.XX Copyright 2000 Sistemas IAR. Todos os direitos reservados. Os seguintes arquivos serão processados: Arquivo Prec. asm bem-sucedido. O arquivo Proc. asm foi bem-sucedido. 2 arquivo (s) bem-sucedido (s): Prec. asm Proc. asm Os arquivos de origem, especificados na linha de comando antes do exemplo acima, são arquivos de linguagem assembly, escritos para o assembler Atmels. Os curingas podem ser usados ​​para selecionar arquivos de origem. O funcionamento do programa Atmel2iar. exe é dividido em 6 etapas. Os arquivos de entrada são tratados um de cada vez através de todos os estágios indicados. Esses estágios podem ser controlados separadamente com opções. Se um estágio falhar, os seguintes estágios são ignorados para o arquivo de entrada atual. As etapas 1, 3, 4, 5 e 6 são usadas para verificar a entrada ea saída da tradução. A tradução real é feita durante a fase 2. Comparando arquivos ROM, para CODE e EEPROM, produzidos por Atmels e ferramentas de sistemas IAR. Os estágios 1, 3, 4 e 5 usam programas externos quando realizam suas tarefas. IAR Postlink é fornecido em conjunto com o programa de tradução do assembler, mas os outros executáveis ​​devem ser fornecidos por você. Use a opção de linha de comando - t para alterar o nome do executável para os diferentes estágios. Atmels montador, o IAR Assembler eo IAR XLINK Linker estão disponíveis na Internet gratuitamente, por exemplo, a partir de Atmels site, atmel. O assembler Atmels, avrasm32.exe, está incluído no AVR Studio 3.2. O IAR XLINK Linker é parte do pacote IAR Assembler. O IAR Assembler para AVR também está disponível no site IAR Systems iar. Manipulação padrão dos tipos de arquivo, (é qualquer caractere):.inc,.h..Eu. São tratados como arquivos de inclusão. Esses tipos de arquivo são, por padrão, não processados ​​pelos estágios 4, 5 e 6.. Asminc são tratados como arquivos de inclusão do atmel. Esses tipos de arquivo são, por padrão, não processados ​​pelos estágios 1, 3, 4, 5 e 6. Outros tipos de arquivo são tratados como fonte principal do assembler. Eles são processados ​​em todos os estágios. Comece por traduzir todos os arquivos. asm. Todos os arquivos incluídos também serão traduzidos (a menos que a opção de linha de comando - x seja usada). Opções da linha de comando em ordem alfabética Especifique um dígito para cada etapa (nenhuma significa todas as etapas). Por exemplo - v23 define verbose para os estágios 2 e 3. - v define verbose para todos os estágios. Especifique o arquivo executável uma vez para cada etapa, com um sinal de igual após o dígito do estágio. Você pode especificar um executável para os estágios 1, 3, 4 e 5. Por exemplo - t1avrasm32.exe - t3 ../ aavr. exe Todos os 3 segmentos são absolutos. ORG é usado para especificar o endereço absoluto. O código ea EEPROM começam em 0 por padrão, enquanto que os dados começam em 0x60. Os segmentos podem ser absolutos (ASEG) ou relocáveis ​​(RSEG). Todos os segmentos absolutos têm o tipo de segmento UNTYPED, que está no mesmo espaço de endereço como CODE. Qualquer número de segmentos relocáveis ​​pode ser usado. Cada segmento relocável tem um nome, um tipo de segmento e outras propriedades opcionais. O vinculador determina em que endereço cada segmento está vinculado. ORG é usado para especificar um endereço absoluto em segmentos absolutos e um endereço que é relativo ao início da parte de segmento se usado em segmentos relocáveis. Uma diretiva. DEVICE opcional pode ser usada para instruir o montador a avisar se forem usadas instruções não suportadas ou se os segmentos forem maiores do que o que é suportado pelo dispositivo. As opções do processador e a opção - ouenhancedCore podem opcionalmente ser especificadas na linha de comando. Um número de arquivos de comando de vinculador (.xcl) são fornecidos, que definem configurações de memória típicas para os dispositivos. Os seguintes espaços de nomes separados são usados: Etiquetas, incluindo símbolos. EQU e símbolos. SET Aliases de registro (.DEF) Nomes de macro (.MACRO) Palavras reservadas, incluindo nomes de instrução, função e registro O mesmo nome pode ser usado em todos Os espaços de nome, o que pode parecer confuso. O montador decide qual nome de espaço pertence um nome ao analisar o contexto. O mesmo espaço de nome é usado para todos os símbolos. O mesmo nome não pode ser usado para duas finalidades diferentes. As macros podem ter zero ou mais parâmetros não identificados. As diretivas não são permitidas dentro de macros, exceto em versões mais antigas do assembler. As macros podem ter parâmetros não nomeados ou parâmetros nomeados. Há uma série de recursos extras. Observe que literais de seqüência de caracteres usando aspas duplas no código-fonte escrito para Atmels assembler, são convertidos para aspas simples, para evitar o zero extra que o montador IAR anexa a seqüência de caracteres literais de seqüência de caracteres. As diretivas. DSEG e. ESEG devem ser traduzidas para diretivas RSEG, para colocá-las nos espaços de endereços corretos. CSEG pode ser traduzido para uma directiva RSEG ou uma directiva ASEG, uma vez que CODE e UNTYPED estão no mesmo espaço de endereços. RSEG é recomendado, porque é muito mais fácil dividir o código fonte em vários módulos se RSEG é usado. A diretiva. ORG especifica um endereço absoluto. Ele pode ser traduzido para um ORG relativo, uma vez que o endereço inicial de cada parte do segmento é conhecido. Enquanto todo o código traduzido for mantido no mesmo módulo e os segmentos estiverem vinculados nos endereços esperados, esta estratégia funciona. No entanto, se o código de origem é dividido em vários módulos, em seguida, a parte de segmento pode iniciar com um endereço diferente do esperado ea diretiva ORG irá definir o contador de localização para o valor errado. A melhor solução é eliminar todas as diretivas ORG e iniciar um novo segmento. O endereço de início do novo segmento é definido no arquivo de comando do vinculador. (Uma parte de segmento é a parte de um segmento que está dentro do módulo atual. Se somente um módulo é usado, a parte de segmento é igual ao segmento. Por exemplo, o segmento ADATA é vinculado em 0x60.O ORG 0x20 irá então definir o Endereço contador para 0 x 80. No entanto, se houver outras partes de ADATA em outros módulos, eles podem ser vinculados antes, fazendo com que a parte segmento iniciar em um endereço mais alto que 0x60). Às vezes, as diretrizes. ORG são usadas ao definir vetores de interrupção. Nesse caso, recomenda-se um segmento COMMON INTVEC. A ASEG também é uma alternativa. Exemplo de como os segmentos e endereços são manipulados: CSEG Código addr 0 DSEG Dados addr 0x60 ORG 0x80 Dados addr 0x80 ESEG EEPROM addr 0 ORG 0x10 EEPROM addr 0x10 st: RJMP f Código byte addr 2 ORG 0x100 Código byte addr 0x200 RSEG ACODE: Addr 0 RSEG ADATA: DATA Dados addr 0x60 ORG (0x80) -0x60 Dados addr 0x80 RSEG AEEPROM: XDATA EEPROM addr 0 ORG 0x10 EEPROM addr 0x10 st: RJMP f Código byte addr 2 ORG (0x100) 2 Código byte addr 0x200 Quatro espaços de nome no assembler Atmels devem ser combinados em um, sem introduzir conflitos de nome. O conversor de montagem notifica o usuário sobre todos os conflitos de nome em potencial. A verificação de conflito de nome é insensível a maiúsculas e minúsculas e inclui controle de palavras reservadas Assembler IAR. Você deve alterar manualmente os nomes para resolver os conflitos. Isso é preferencialmente feito nos arquivos de origem de assembly Atmel. Diretivas Exemplos sobre como as diretivas são tratadas: Isso é algo que eu acho irritante também - OK você pode fazê-lo em sua cabeça para 8 bits, mas em coisas como ARM, 32 bits fica um pouco mais difícil de fazer na sua cabeça devido a perder o seu lugar . Não suportar binário em um compilador embutido orientado está levando muito estrito cumprimento de padrões. Todos os compiladores incorporados têm extensões não-padrão para lidar com o hardware, por isso outro não é grande coisa. Não seria um problema importante para a portabilidade - nas raras ocasiões em que um aplicativo é portado para um compilador diferente, as constantes binárias podem ser facilmente pesquisadas manualmente e substituídas por hexadecimais com uma chance mínima de introduzir erros ou efeitos colaterais inesperados. Por todos os meios torná-lo um recurso opcional que pode ser ativado / desativado para aqueles que querem cumprimento estrito, mas omitindo esse recurso útil é imperdoável, especialmente porque seria muito fácil de implementar - poderia ser feito no pré-processador (convertendo para Hex). Então uma mudança de código poderia cobrir todos os seus compiladores. Nível: Raving Lunatic Registrado em: Qui. Nov 29, 2007 Postado por ArnoldB. Qua. Mar 26, 2008 - 11:36 PM BenG escreveu: Um pouco bugbear do meu. Existe alguma maneira de inserir rapidamente um número binário em IAR. Por exemplo. Em alguns compiladores eu poderia escrever: Onde como em IAR eu só posso inserir números em hexadecimal ou decimal. Não ser capaz de fazer isso não é um grande problema - mas se eu estou escrevendo uma pequena seção de teste, pode soemtimes ser útil para fazer. Primeiro de tudo, é muito melhor usar constantes simbólicas ou define para construir números, e não hexadecimal bruto ou valores binários. Mas se você realmente gosta de usar constantes binárias com freqüência, crie um arquivo de cabeçalho com o seguinte conteúdo: Inclua o cabeçalho onde deseja usar as constantes Bxxxxxxx. Isso é feio, mas portátil. PS: Eu us-nos um script para gerar um cabeçalho, em vez de escrevê-lo à mão :-) Mikeharrison escreveu: Isso é algo que eu acho irritante também - OK você pode fazê-lo em sua cabeça para 8 bits, mas em coisas como ARM, 32 Bits fica um pouco mais difícil de fazer em sua cabeça devido a perder o seu lugar. E você espera manter seu lugar em algum lugar no meio de 32 1s e 0s Se você me perguntar que você é muito mais provável vai fazer um erro definindo um valor em binário do que você está em hexadecimal, especialmente como a profundidade de bits aumenta. Mikeharrison escreveu: Não suportar binário em um compilador embutido orientado está levando muito estrito cumprimento de padrões. Todos os compiladores incorporados têm extensões não-padrão para lidar com o hardware, por isso outro não é grande coisa. Sua uma coisa para adicionar extensões para suportar o hardware, seu outro para alterar a língua própria. Você também contador youre próprio argumento com: Mikeharrison escreveu: constantes binárias podem ser facilmente procurados amp substituído com hex com mínima chance de introdução de erros ou inesperados efeitos colaterais. Então, se theres mínima chance de erro na conversão, por que não apenas fazê-lo em hexadecimal desde o início Mikeharrison escreveu: Por todos os meios torná-lo um recurso opcional que pode ser ativado / desativado para aqueles que querem cumprimento estrito, mas omitido um recurso tão útil É imperdoável, especialmente como seria muito fácil de implementar Embora possa ser bom ter, Id dizer que tal omissão é imperdoável. Por todos os meios escrever o seu compilador fabricante e reclamar. Francamente para aquelas ocasiões raras onde eu gostaria de definir um valor em binário (bitmaps), eu simplesmente usar uma macro pré-processador para fazê-lo. Raramente uso valores brutos, seja binário ou hexadecimal. Na minha experiência, é sempre melhor usar valores nomeados ao trabalhar com bitfields. Eles são muito mais fáceis de ler do que uma série de 0s e 1s ou mesmo um valor hexadecimal. O único lugar onde binário é de benefício, é com dados bitmap, onde você pode ver a imagem nos dados. Para aquelas ocasiões eu uso macros similares aos postos acima. As macros têm a vantagem adicional de me permitir alterar a ordem dos bits, mantendo o padrão visual mais fácil de ver. Escrever código é como ter relações sexuais. Fazer um pequeno erro, e você está apoiando-o para a vida. Eu acho que se você pode contar até 10, então com bit de ponderação, Decimal dígitos vêm um pouco naturalmente. Então, se você pode raciocinar os padrões de bit para 0 a 9 naturalmente, você realmente só tem 6 padrões de bits para memorizar - Hex dígitos A através de F. Meu entendimento é que Hexadecimal foi criado para eliminar erros na interpretação de erros de posição de bit individual - Glitch implicou. É muito mais fácil de ler e obter direito então Há algum tipo de falha, pensando que binário bruto é de alguma forma mais fácil de ler, em seguida, Hexadecimal. E nessa mesma luz, vamos esquecer ASCII e apenas usar padrões binários binários. Permite apenas comunicar em padrões de bits binários em jornais, livros, cartas e qualquer outra coisa que emprega o conjunto de caracteres ASCII. Se binário bruto era o mais fácil dos dois, youd estar olhando para ele em praticamente nunca micro-controlador OP-CODE descrição dos mnemônicos. Então pense sobre isso. Se você usar o código de cores do resistor em uma base diária, a relação entre os dígitos de 0 a 9 e as dez atribuições de bandas de cores torna-se uma segunda natureza. O mesmo é verdade com Hexadecimal. Eu acho que qualquer pessoa usando assembler, C ou mesmo possivelmente BASIC em conjunto com um controlador embutido, Hexadecimal seria simplesmente tornar-se segunda natureza. O mesmo também é válido para os códigos de caracteres Octal Radix e ASCII. Ou é simplesmente que nós não temos a disciplina para ir além desses aspectos primitivos do campo que estamos mais familiarizados com - a nossa zona de conforto Você pode evitar a realidade, por um tempo. Mas você não pode evitar as consequências da realidade - C. W. Livingston Ill concordar sobre octal. Octal nasceu fora da velocidade introduzindo valores usando um teclado numérico padrão de 10 dígitos. É mais estreitamente ligado ao binário que representa do que decimal, tornando-se assim um grande compromisso. Ele ainda está em uso hoje principalmente por razões históricas. Dadas as escolhas para inserir valores de bit, minhas preferências ordenam da seguinte forma: hex binary octal decimal Overall Eu estou surpreso com o binário, e os prefixos decimais, radix não foram incluídos na especificação de linguagem C. (Sim, o prefixo decimal seria redundante, mas teria gostado de vê-lo para a integralidade) Im não grande em um zero nua como o prefixo de octal quer, muito facilmente confundido para um valor decimal com um zero de liderança Escrever código é como ter sexo . Fazer um pequeno erro, e você está apoiando-o para a vida. Nível: Raving Lunatic Registrado em: Qui. Apr 1, 2004 Localização: New Mexico Postado por kmr. Qui. 27 de março de 2008 - 05:26 cpluscon escreveu: Code escritores como opções. Eles fazem. Eles também gostam da portabilidade que os seguintes padrões fornecem. O trade-off é muitas vezes idiossincrático. Imagino que o IAR considere uma solicitação de recurso para essa extensão. Pessoalmente, eu prefiro notação hexadecimal para que eu não estaria apresentando tal pedido. Nível: Raving Lunatic Registrado em: Sáb. Jan 12, 2002 Postado por glitch. Qui. Mar 27, 2008 - 02:52 PM E eu só cortar a próxima resposta off no passe aqui. Mas se os programadores C gostam de portabilidade, o que acontece com todas essas extensões para suportar o hardware / arquitetura O código específico de arquitetura e hardware pode muitas vezes ser abstraído, então tudo o que se tem a fazer é escrever um novo HAL (camada de abstração de hardware) Plataforma diferente. Isso não é fácil se seu código é espalhado com notação constante não-padrão. (Que é porque eu disse mais cedo que as extensões da língua, e as extensões para a ferragem são diferentes) escrever o código é como ter o sexo. Fazer um pequeno erro, e você está apoiando-o para a vida. Nível: Raving Lunatic Registrado em: Qui. Apr 1, 2004 Localização: New Mexico Postado por kmr. Qui. Mar 27, 2008 - 03:10 PM Bom ponto, Glitch. Obviamente, como programadores AVR usamos rotineiramente extensões para C. Eu acho que uma questão-chave na decisão sobre quando usar uma extensão de linguagem é quanto ganha um usando a extensão versus o quanto se perde por falta de portabilidade. Nível: Raving Lunatic Registrado em: Fri. Dec 20, 2002 Localização: Dresden, Germany Postado por dl8dtl. Qui. 27 de março de 2008 - 03:18 PM. - poderia ser feito no pré-processador (convertendo para hexadecimal). Então uma mudança de código poderia cobrir todos os seus compiladores. Assim, quanto código do compilador você tocou já Quanto do padrão C e seus conceitos subjacentes você leu até agora Me acerta, eu invadiu a implementação de constantes binárias do GCC e eventualmente a empurrou através de todas as instâncias de desenvolvimento do GCC que foram necessárias Para obtê-lo incluído na árvore oficial lá. Eu raramente uso esse recurso mim, eu principalmente escrevi uma vez que uma vez acabou por ser um item solicitado com freqüência, e algo como um ponto de venda, e parecia simples o suficiente para adicionar. (Minha motivação final foi uma observação absurda no raciocínio C99 alegando que ele tinha sido deixado de fora do padrão devido à falta de aplicação e precedência - então agora, finalmente, há precedência quando eles consideram a próxima vez.) O que você Escrito acima é absoluto absurdo. Isso não significa que eu não gostaria de motivar IAR para adicioná-lo, e como meu caso prova, não é realmente muito difícil adicioná-lo, mas se você não sabe mesmo os detalhes básicos de como funciona o idioma, é melhor evitar fazer esse tipo de observações . Por favor, não me envie PMs, use e-mail se você quiser me abordar pessoalmente. Nível: 10k Postman Entrou: Sáb. Feb 12, 2005 Localização: Wormshill, England Publicado por david. prentice. Qui. Mar 27, 2008 - 03:27 PM É simples escrever um script sed para converter suas constantes binárias. Como o IAR pode ser movido a partir de um makefile, basta escrever o código-fonte com a extensão. wierd. Em seguida, adicione uma regra para fazer para traduzir de. wierd para. C usando o script. Fazer vai construir o seu projeto. Você satisfaz seus desejos pessoais. A linguagem C é inalterada. Se você optar por publicar seu código C para o mundo exterior, você tem o C legal já pré-processado. Este exemplo particular é bastante trivial. No entanto, eu acho que essa técnica é útil para quebrar / disfarçar as diferenças de sintaxe desagradável para montadores. Mikeharrison Entrou: Qui. Jul 26, 2001 Postado por Mikeharrison. Sex. Isso é algo que eu acho irritante também - OK você pode fazê-lo em sua cabeça para 8 bits, mas em coisas como ARM, 32 bits fica um pouco mais difícil de fazer em sua cabeça devido a Perdendo seu lugar. E você espera manter seu lugar em algum lugar no meio de 32 1s e 0s Se você me perguntar que você é muito mais provável vai fazer um erro definindo um valor em binário do que você está em hexadecimal, especialmente como a profundidade de bits aumenta. Um exemplo específico. Configuração dos valores da porta IO no ARM. Olhe para esquemático e digite cada bit por sua vez de 31 até 0. Operações de tipo de máscara também são uma ocasião em que o binário pode ser um formato de entrada mais natural. Mikeharrison escreveu: Não suportar binário em um compilador orientado embutido está levando muito longe a estrita conformidade com os padrões. Todos os compiladores incorporados têm extensões não-padrão para lidar com o hardware, por isso outro não é grande coisa. Quote: Sua única coisa para adicionar extensões para suportar hardware, é outra para alterar a linguagem em si. Eu não vejo uma diferença. Pelo mesmo argumento você limitará as extensões ao mínimo absoluto necessário ao invés do mais útil / prático. Devtools estão lá para ajudá-lo a fazer um trabalho tão eficientemente quanto possível, e onde isso entra em conflito com a conformidade com as normas, o usuário deve ter a escolha de que é mais importante para o que eles estão tentando alcançar. Quote: Você também contador youre próprio argumento com: Mikeharrison escreveu: constantes binárias podem ser facilmente procurados amp substituído com hex com mínima chance de introdução de erros ou inesperados efeitos colaterais. Por isso, se há pouca chance de erro na conversão, por que não apenas fazê-lo em hexadecimal desde o início Porque o número de vezes que você inserir constantes no novo código é muito maior do que o número de vezes que você precisa para convertê-los nas raras ocasiões em que você Necessidade de código de porta. A maioria dos códigos nunca é portada. Meu ponto era que mover o código de um compilador que suporta constantes binárias para um doesnt thet é uma tarefa bastante trivial. Bobgardner escreveu: E se o meu compilador didnt tê-lo, e eu perguntei por ele, eu aposto que o cara compilador teria uma nova versão em poucos dias. Veja se os caras caras dar reviravolta como esse. Eu também, tenho encontrado as pessoas no ImageCraft muito sensível ao pedido individual. E enquanto os programadores C profissionais podem encontrar limitação ICCAVR em áreas, eu não encontrei limitações particulares no meu uso pessoal. ImageCraft é um compromisso muito bom entre os compiladores Free e os C caros. Mas não há nada de errado com livre, especialmente para os financeiramente amarrados. E também há nada de errado com caro, para aqueles que podem pagar o alto custo. Mas para o 350.00US versão avançada do ImageCraft ICCAVR compilador C, eu recebo cada dimes vale a pena. Você pode evitar a realidade, por um tempo. Mas você não pode evitar as consequências da realidade - C. W. Livingston Nível: Raving Lunatic Registrado em: Sáb. Jan 12, 2002 Postado por glitch. Sex. Isso é algo que eu acho irritante também - OK você pode fazê-lo em sua cabeça para 8 bits, mas em coisas como ARM, 32 bits fica um pouco mais difícil de fazer em sua cabeça devido a Perdendo seu lugar. E você espera manter seu lugar em algum lugar no meio de 32 1s e 0s Se você me perguntar que você é muito mais provável vai fazer um erro definindo um valor em binário do que você está em hexadecimal, especialmente como a profundidade de bits aumenta. Um exemplo específico. Configuração dos valores da porta IO no ARM. Olhe para esquemático e digite cada bit por sua vez de 31 até 0. Operações de tipo de máscara também são uma ocasião em que o binário pode ser um formato de entrada mais natural. Melhor para nomes simbólicos para os bits para que o código é mais legível, e menos propenso a erros. Isso também permite que os bits sejam facilmente alterados se o esquema for alterado. Escrever código é como ter relações sexuais. Fazer um pequeno erro, e você está apoiando-o para a vida. Inscrito em: Seg. Jul 18, 2005 Localização: (using avr-gcc in) Finchingfield, Essex, Inglaterra Postado por clawson. Sex. 28 de março de 2008 - 18:34 Também permite mais fácil portar para outro processador familiar em que os bits são re-ordenados em um registro Nível: Raving Lunatic Registrado: Qui. Mar 1, 2001 Localização: Rocky Mountains Postado por EW. Sex. Você sabe, se você combinar a quantidade total de tempo gasto no thread, o OP poderia facilmente converter as constantes binárias em hexadecimal longas, em lápis, digitá-lo, compilá-lo, E depurá-lo. ) Este arquivo documenta o uso dos compiladores GNU. É concedida permissão para copiar, distribuir e / ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.3 ou qualquer versão posterior publicada pela Free Software Foundation com as Seções Invariantes Sendo ldquoFunding Free Softwarerdquo, sendo os Textos da Capa da Frente sendo (a) (veja abaixo) e com os Textos da Contra-Capa sendo (b) (veja abaixo). Uma cópia da licença está incluída na seção intitulada ldquoGNU Free Documentation Licenserdquo. (A) O Texto da Capa Frontal da FSF é: (b) O Texto da Capa Traseira da FSF é: Você tem liberdade para copiar e modificar este Manual GNU, como o software GNU. Cópias publicadas pela Free Software Foundation angariam fundos para o desenvolvimento GNU. Sumário Conteúdo Introdução Este manual documenta como usar os compiladores GNU, bem como seus recursos e incompatibilidades, e como relatar bugs. Corresponde aos compiladores (GCC) versão 7.0.0. Os componentes internos dos compiladores do GNU, incluindo como conectá-los a novos alvos e algumas informações sobre como escrever front ends para novos idiomas, estão documentados em um manual separado. Veja Introdução. G e GCC. Você pode compilar programas C ou C. Padrões. Padrões de linguagem suportados pelo GCC. Invocando o GCC. Opções de comando suportadas por lsquo gcc rsquo. C Implementação. Como o GCC implementa a especificação ISO C. C Implementação. Como o GCC implementa a especificação ISO C. C Extensões. Extensões GNU para a família de idiomas C. C Extensões. Extensões GNU para a linguagem C. Objetivo-C. Recursos de tempo de execução do GNU Objective-C. Compatibilidade. Compatibilidade binária Gcov. Gcov --- um programa de cobertura de teste. Gcov-ferramenta. Gcov-tool --- um programa de processamento de perfil offline gcda. Problema. Se você tiver problemas para usar o GCC. Erros. Como, por que e onde relatar bugs. Serviço. Como obter ajuda com o GCC Contribuindo. Como contribuir para testar e desenvolver o GCC. Financiamento. Como ajudar a garantir o financiamento de software livre. Projeto GNU. O Projeto GNU e GNU / Linux. Copiando. A Licença Pública Geral GNU diz como você pode copiar e compartilhar o GCC. Licença de Documentação Livre GNU. Como você pode copiar e compartilhar este manual. Colaboradores. Pessoas que contribuíram para o GCC. Índice de opções. Índice de opções de linha de comando. Índice de palavras-chave. Índice de conceitos e nomes de símbolos.


No comments:

Post a Comment