Thursday 3 August 2017

0x88 Binary Options


Decimal / Twos Complement Converter Sobre o Decimal / Two8217s Complement Converter Este é um decimal para two8217s complementar conversor e um complemento two8217s para conversor decimal. Estes conversores não complementam a sua entrada que é, eles não negá-lo. Apenas o convertem a ou do formulário do complemento two8217s. Por exemplo, -7 converte para 11111001 (para 8 bits), que é -7 em complemento two8217s. (Complementando-o tornaria 7, ou 00000111 a 8 bits.) Similarmente, 0011 converte para 3, não -3. Como usar o Decimal / Two8217s Complemento Converter Decimal para Two8217s Complemento Digite um número inteiro positivo ou negativo. Defina o número de bits para a representação do complemento two8217s (se diferente do padrão). Clique em lsquoConvertrsquo para converter. Clique em lsquoClearrsquo para redefinir o formulário e começar do zero. Se você quiser converter outro número, basta digitar sobre o número original e clicar em lsquoConvertrsquo 8212 não é necessário clicar primeiro em lsquoClearrsquo. Se o número inserido for muito grande para ser representado no número de bits solicitado, você receberá uma mensagem de erro informando-o (ele irá dizer quantos bits você precisa). Two8217s Complement to Decimal Digite um número de complemento 8282 uma série de 0s e 1s. Defina o número de bits para coincidir com o comprimento da entrada (se diferente do padrão). Clique em lsquoConvertrsquo para converter. Clique em lsquoClearrsquo para redefinir o formulário e começar do zero. A saída será um número decimal positivo ou negativo. Explorando propriedades de Two8217s Conversão de complemento A melhor maneira de explorar a conversão de complemento two8217s é começar com um pequeno número de bits. Por exemplo, let8217s começam com 4 bits, o que pode representar 16 números decimais, o intervalo -8 a 7. Here8217s o que o decimal para two8217s complementar retorna conversor para esses 16 valores: Quatro-Bit Two8217s Valores de complemento Não importa quantos bits você usa Em sua representação do complemento two8217s, -1 decimal é sempre uma seqüência de 1s em binário. Converter Two8217s Complemento Fixed-Point para Decimal Você pode usar o complemento two8217s para conversor decimal para converter números que estão em notação de complemento de ponto fixo two8217s. Por exemplo, se você tiver números de 16 bits no formato Q7.8. Digite o valor do complemento two8217s e, em seguida, basta dividir a resposta decimal por 2 8. (Números no intervalo de formato Q7.8 de -2 15/2 8 -128 para (2 15 -1) / 2 8 127.99609375.) Aqui estão alguns Exemplos: 0101111101010101 converte para 24405 e 24405/2 8 95.33203125 1101010101110111 converte para -10889 e -10889/2 8 -42.53515625 Implementação Este conversor é implementado em aritmética decimal de precisão arbitrária. Em vez de operar na representação binária das entradas 8212 no ldquoflip usual os bits e adicionar 1rdquo maneira 8212 faz operações na representação decimal das entradas, adicionando ou subtraindo uma potência de dois. Especificamente, isto é what8217s feito e quando: Decimal to two8217s complementar entrada Nonnegative: Basta converter em binário e pad com 0s de liderança. Entrada negativa (sinal lsquo-rsquo): Adicione 2 números. Em seguida, converter para binário. Two8217s complemento à entrada decimal Nonnegative (líder lsquo0rsquo bit): Basta converter em decimal. Entrada negativa (lsquo1rsquo bit): Converta em decimal, obtendo um número positivo, depois subtraia 2 numBits. Por razões práticas, estabeleceu um limite arbitrário de 512 bits nas entradas. O throughput de códigos binários gerados pelo compilador Intel C é 42 mais lento O throughput de códigos gerados pelo compilador Intel C é 42 mais lento do que o throughput de códigos gerados por MinGW, Microsoft e legacy Watcom C compiladores. Isso ocorre porque o compilador Intel C re-ordenou uma seqüência de instruções erradamente assumindo que ele irá melhorar o desempenho devido a pipelining de uma unidade de processamento. Um teste intensivo de alguns códigos C mostrou que a reordenação das instruções não melhorou o desempenho. O compilador C moderno faz muitas otimizações nos bastidores, mas os engenheiros de software C / C devem ter um maior controle de todas as ações relacionadas à reordenação de instruções geradas, ou seja, códigos binários. Gostaria de considerar três opções: - Uma mensagem de advertência no nível / W5 (Não em outros níveis) precisa ser exibido quando há uma re-ordenação - Introdução a pragma não-reordenação diretiva para um pedaço de códigos críticos para evitar qualquer re - Ordters - Uma opção de compilador de linha de comando semelhante à opção do compilador Watcom C - or (Reordenar instruções para evitar barracas) IrtClflush (amppiAddress00) CrtClflush (amppiAddress10) CrtPrefetchData ((RTchar) amppiAddress00) // Todas as prefetches são T0-type CrtPrefetchData RTchar) amppiAddress10) CrtPrefetchData ((RTchar) amppiAddress20) CrtPrefetchData ((RTchar) amppiAddress30) CrtPrefetchData ((RTchar) amppiAddress40) CrtPrefetchData ((RTchar) amppiAddress50) CrtPrefetchData ((RTchar) amppiAddress60) CrtPrefetchData ((RTchar) amppiAddress70) CrtPrefetchData ((RTchar ) amppiAddress80) CrtPrefetchData ((RTchar) amppiAddress90) RTuint64 uiClock1 CrtRdtsc () CrtClflush (amppiAddress00) CrtClflush (amppiAddress10) CrtClflush (amppiAddress20) CrtClflush (amppiAddress30) CrtClflush (amppiAddress40) CrtClflush (amppiAddress50) CrtClflush (amppiAddress60) CrtClflush (amppiAddress70) CrtClflush (amppiAddress80 ) CrtClflush (amppiAddress90) RTuint64 uiClock2 CrtRdtsc () CrtPrintf (RTU (CrtClflush - Executado em u clock cycles), (RTUint) (uiClock2 - uiClock1) / 10) CrtPrintf (RTU (IrtClflush amp CrtClflushn)). Sun, 25/09/2016 - 20:57 Teste de tempo de execução - Rastreamento estendido - Nenhum compilador Intel C CrtClflush - Executado em 20 ciclos de clock CrtClflush - Executado em 23 ciclos de clock CrtClflush - Executado em 24 ciclos de clock CrtClflush - Executado em 24 clock CrtClflush - Executado em 19 ciclos de clock CrtClflush - Executado em 19 ciclos de clock CrtClflush - Executado em 19 ciclos de clock CrtClflush - Executado em 19 ciclos de clock CrtClflush - Executado em 19 ciclos de clock CrtClflush - Executado em 18 ciclos de clock. Uma pergunta é por que ele é mais lento do que Microsoft ou compiladores Watcom C Aqui são gerados códigos binários: 0040365C rdtsc 0040365E clflush ebp-8B8h 00403665 mov ecx, eax 00403667 clflush ebp-878h 0040366E clflush ebp-838h 00403675 clflush ebp-7F8h 0040367C clflush ebp - 7B8h 00403683 clflush ebp-778h 0040368A clflush ebp-738h 00403691 clflush ebp-6F8h 00403698 clflush ebp-6B8h 0040369F clflush ebp-678h 004036A6 rdtsc. 1. O compilador Intel C reordenou uma seqüência de instruções. 2. Mov ecx, eax é colocado após o primeiro clflush ebp-8B8h para salvar um valor retornado de RDTSC no registro de propósito geral eax. 3. É possível que o pipelining seja afetado (muito provável). 4. Dê uma olhada em um código binário perfeitamente gerado pelo compilador Watcom C (veja abaixo). 5. Quase a mesma re-ordenação é feita pelo compilador Microsoft C. Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock. Aqui são gerados códigos binários: 00403791 rdtsc 00403793 mov ecx, eax 00403795 lea eax, ebp-8AEh 0040379B clflush eax 0040379E lea eax, ebp-86Eh 004037A4 clflush eax 004037A7 lea eax, ebp-82Eh 004037AD clflush eax 004037B0 lea eax, ebp-7EEh 004037B6 clflush eax 004037B9 ea, ebp-7AEh 004037BF clflush eax 004037C2 ea, ebp-76Eh 004037C8 clfush eax 004037C8 lea eax, ebp-72Eh 004037D1 clflush eax 004037D4 lea eax, ebp-6EEh 004037D4 clora eax 004037DD lea eax, ebp-6AEh 004037E3 clflush eax 004037E6 lea eax, ebp-66Eh 004037EC clflush eax 004037EF rdtsc. Perfect geração de códigos binários. Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock Em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock. Aqui estão gerados códigos binários: 00244486 rdtsc 00244488 clflush ebp-300h 0024448F clflush ebp-240h 00244496 clflush ebp-180h 0024449D mov dword ptr ebp-48h, eax 002444A0 clflush ebp-340h 002444A7 clflush ebp-280h 002444AE clflush ebp-1C0h 002444B5 clflush ebp -100h 002444BC mov dword ptr ebp-44h, edx 002444BF clflush ebp-2C0h 002444C6 clflush ebp-200h 002444CD clflush ebp-140h 002444D4 rdtsc. 1. Mesmo que o compilador Microsoft C também re-ordenou códigos binários não afeta o desempenho e throughput de um bloco de códigos com um conjunto de instruções CLFLUSH. Desempenho e throughput foi como esperado, ou seja, 12 ciclos de clock por instrução executada. 2. Além disso, o compilador Microsoft C armazena valores dos registros de finalidade geral EDX e EAX, número de ciclos de clock retornados da instrução RDTSC para uma variável criada na pilha. Para comparação, o compilador Intel C armazena um valor no registro EAX para o registro ECX. Teoricamente, deve ser mais rápido do que armazenar o valor para a RAM, ou seja, para uma variável criada na pilha. Na realidade, os resultados dos testes são opostos. O problema tem duas partes, isto é: - A instrução RDTSC não estava alinhada em um limite de 16 bytes para o compilador Intel C - Pipelining de uma série de instruções CLFLUSH é afetado quando uma instrução MOV é inserida após a 1ª instrução CLFLUSH By the way, Watcom C compiladores binário de códigos não estão alinhados em um limite de 16 bytes e ele não tem quaisquer problemas Então, eu decidi usar uma solução alternativa forçando um alinhamento em um limite de 16 bytes (DEFAULTCODEALIGN16 é uma macro baseada em asm ALIGN 16 assembler Directiva). Códigos ignorados. DEFAULTCODEALIGN16 RTuint64 uiClock1 CrtRdtsc () CrtClflush (amppiAddress00) CrtClflush (amppiAddress10) CrtClflush (amppiAddress20) CrtClflush (amppiAddress30) CrtClflush (amppiAddress40) CrtClflush (amppiAddress50) CrtClflush (amppiAddress60) CrtClflush (amppiAddress70) CrtClflush (amppiAddress80) CrtClflush (amppiAddress90) RTuint64 uiClock2 CrtRdtsc ( ). Aqui está as estatísticas de um endereço de memória da primeira instrução RDTSC: MSC - 00244490 0x10 0 - Alinhado no limite de 16 bytes - Sim (forçado por DEFAULTCODEALIGN16) ICC - 00403660 0x10 0 - Alinhado no limite de 16 bytes - Sim (forçado por DEFAULTCODEALIGN16) (Forçado por DEFAULTCODEALIGN16) BCC - 0040417A 0x10 10 - Alinhado no limite de 16 bytes - Não (solução alternativa é N / A) WCC - 00403791 0x10 11 - Alinhado no limite de 16 bytes - CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock CrtClflush - Executado em 12 ciclos de clock. Isso é o que eu queria ver antes de passar para outra tarefa. GtgtWhats seu processador de segmentação E a opção de otimização que você usou É padrão - mSSE2 Eu considero que o problema com Re-ordens como um fundamental e não deveríamos ter quaisquer restrições relacionadas a CPUs, ISAs, etc gtgtBesides os ciclos clflush, você contou o rdtsc Latência Não, porque não é necessário nesse caso. No geral, há três casos possíveis de usar RDTSC (o mesmo se aplica a qualquer API de tempo): Caso 1: - Uma instrução RDTSC foi chamado após algum bloco de códigos e retorna um número de ciclos de clock Quando o bloco tiver concluído processamento - RDTSC Caso uma segunda instrução RDTSC seja chamada antes de algum bloco de códigos e retorna um número de ciclos de clock Quando o bloco está prestes a iniciar Processamento - latência RDTSC s 3) - Duas instruções RDTSC serão chamadas antes (será T1) e depois (será T2) algum Bloco de Códigos e diferença de (T2 - T1 ) É um número de ciclos de clock que levou para Processamento Completo - Nenhuma correção precisa ser levada em consideração (Nota: O terceiro caso é o mais comum como você sabe) A otimização do gtgtCompiler pode reordenar instruções com base na latência de instrução / Micro-arquitetura. Eu entendo, mas meu ponto é: o compilador Intel C deve nos dar um maior controle em semelhante aos meus casos. Se um Software Engineer tem algumas especificações, sabe como algum processamento precisa ser feito (sua ordem, número de instruções, número estimado de ciclos de clock para completar o processamento, etc), então o compilador Intel C não deve interferir com os códigos Software Engineers. Naturalmente, a implementação com assembler resolve todos esses problemas, mas é mais demorado para implementar e quebra a portabilidade de C / C códigos fonte. Tenho a certeza que as sobrecargas de várias chamadas para RDTSC cant cancelar como sugerido na mensagem 14 acima (software. intel/en-us/forums/intel-c-compiler/topic/697062co.). Isso exigiria que a primeira chamada para RDTSC retornar a contagem de ciclo no final de sua execução, enquanto a segunda chamada para RDTSC teria que retornar a contagem de ciclo no início de sua execução. Isto não faz sentido. Eu olhei para a sobreposição de instruções RDTSC e RDTSCP com código de usuário em algum detalhe em um novo post em software. intel/en-us/forums/software-tuning-performance-opti. John D. McCalpin, PhD Dra. Largura de faixa Wed, 28/09/2016 - 12:11 gtgt. Se você colocar seu código de teste de desempenho em um loop, qual é o tempo excluindo a primeira viagem através do código de teste Jim, Aqui estão os resultados de desempenho quando o Serial-Test-Case foi convertido em um 10 - interations For-Loop-Test-Case . Resultados de desempenho do melhor para o pior: MinGW C compilador. Sub-Test002.21.B - Processamento de 10 chamadas - Executado em 120 ciclos de relógio Sub-Test002.21.B - Sobrecarga de For-Loop - Executado em 84 ciclos de relógio Sub-Test002.21.B - CrtClflush - Executado em 3 clock Ciclos. Compilador Intel C. Sub-Test002.21.B - Processamento de 10 chamadas - Executado em 196 ciclos de relógio Sub-Test002.21.B - Para-Loop Overhead - Executado em 152 ciclos de relógio Sub-Test002.21.B - CrtClflush - Executado em 4 clock Ciclos. Watcom C compilador. Sub-Test002.21.B - Processamento de 10 chamadas - Executado em 212 ciclos de relógio Sub-Test002.21.B - Sobrecarga de For-Loop - Executado em 128 ciclos de relógio Sub-Test002.21.B - CrtClflush - Executado em 8 relógio Ciclos. Microsoft C compilador. Sub-Test002.21.B - Processamento de 10 chamadas - Executado em 192 ciclos de relógio Sub-Test002.21.B - Sobrecarga de Loop - Executado em 88 ciclos de relógio Sub-Test002.21.B - CrtClflush - Executado em 10 relógio Ciclos. Compilador Borland C. Sub-Test002.21.B - Processamento de 10 chamadas - Executado em 964 ciclos de relógio Sub-Test002.21.B - Sobrecarga de Loop - Executado em 264 ciclos de relógio Sub-Test002.21.B - CrtClflush - Executado em 70 clock Ciclos. Os resultados são muito reprodutíveis e vejo que, no caso dos compiladores MinGW e Intel C, eu era capaz de obter números de limite baixo para a instrução CLFLUSH declarada pela Intel em: Intel 64 e IA-32 Architectures Optimization Reference Manual Referência: 248966-033 Junho 2016 Capítulo: LATÊNCIA E TREINAMENTO DE INSTRUÇÕES Tabela C-17. Instruções para Uso Geral (Página C-17) As saídas CLFLUSH para diferentes CPUs são de 5 a 50 ciclos de clock. . Eu concordo com o seu ponto de que Se um engenheiro de software tem algumas especificações, sabe como algum processamento precisa ser feito (sua ordem, número de instruções, número estimado de ciclos de clock para completar o processamento, etc), então o compilador Intel C não deve interferir Com os códigos Software Engineers. A partir deste caso específico, parece-me a latência clflush é causada pelo problema de alinhamento em vez de re-ordenação. Você confirmou o impacto da re-ordenação após alinhado forçado Para casos reordenação não é desejada, será -00 para desativar a otimização ajuda Seria ótimo com um exemplo onde re-ordenação do compilador diminuir o desempenho e requer engenheiros controle. Yolanda Chen Intel Developer Ferramentas de Suporte Base de Conhecimento: software. intel/en-us/articles/tools Aqui está uma Lista de Recursos / Propostas relacionadas à geração de códigos binários pelo compilador Intel C quando alguns códigos críticos são implementados em linguagem C: 1. Introdução uma diretriz pragma de não-reordenação para um pedaço de códigos C críticos para evitar re-ordens de códigos binários 2. Uma Mensagem de Aviso no nível / W5 (Não em outros níveis) precisa ser exibida quando houver uma reordenação (s) 3. Uma opção de compilador de linha de comando para controlar re-ordens de instruções 4. Se a instrução RDTSC é chamada, então as instruções MOV, para salvar os valores EDX: EAX ou RDX: RAX de Registros de Uso Geral, não devem ser reordenadas 5. Se a instrução RDTSCP é chamada, então as instruções MOV, para salvar os valores EDX: EAX ou RDX: RAX de Registros de Finalidade Geral, não devem ser reordenadas. Quatro possíveis casos de uso para rdtscp função intrínseca precisam ser considerados. A função é declarada da seguinte forma:. Extern unsigned int64 ICLINTRINCC rdtscp (unsigned int). Nota . Vamos denotar uiTscValue como 1º valor. E iRetValue como valor 2. Caso de Uso 1 - 1º valor utilizado / 2º valor utilizado: unsigned int iRetValue 0 não assinado int64 uiTscValue rdtscp (ampiRetValue). O compilador C deve gerar ordens de MOV ordenadas para salvar o primeiro valor eo segundo valor em alguns endereços. Caso de Uso 2 - 1º valor utilizado / 2º valor não utilizado: unsigned int64 uiTscValue rdtscp (NULL). Compilador C não deve gerar instruções MOV para salvar 2 º valor no endereço NULL. Atualmente, o compilador Intel C tenta salvar o valor 2 para o endereço NULL e exceção de violação de acesso é gerada. Caso de uso 3 - 1 º valor não utilizado / 2 º valor utilizado: unsigned int iRetValue 0 rdtscp (ampiRetValue). C compilador não deve gerar MOV instruções para salvar 1 º valor em algum endereço. Caso de Uso 4 - 1º valor não utilizado / 2º valor não utilizado: O compilador C não deve gerar instruções MOV para guardar o 1º valor e o 2º valor em alguns endereços. As instruções RDTSC / RDTSCP ou as funções intrínsecas rdtsc / rdtscp permitem Medições de Intervalo de Tempo muito precisas. Considere um caso de teste (pseudo-código): SETPRIORITYTOREALTIME. // Parte 1 TSCVALUE1 RDTSC () SALVAR TSCVALUE1HIGHPART GUARDAR TSCVALUE1LOWPART. // Parte 2 Processamento Crítico. . // Parte 3 TSCVALUE2 RDTSC () SAVE TSCVALUE2HIGHPART SAVE TSCVALUE2LOWPART. // Parte 4 TSCDIFF TSCVALUE2 - TSCVALUE1. SETPRIORITYTONORMAL. Em seguida, as partes 1 e 3 podem ser consideradas como algum tipo de transações de medição de intervalo e instruções binárias precisam ser geradas sem re-ordens para minimizar. Tanto quanto possível, execução fora de ordem por uma CPU. Eu sei que alguns problemas relacionados ao RDTSC são resolvidos pela instrução RDTSCP, mas requer uma CPU com suporte de conjunto de instruções AVX. Desculpa pelo atraso da minha resposta. Eu escalou seus pedidos aos engenheiros e adquiriu algum gabarito. Id elaborá-los um por um: 1. Introdução uma diretriz de pragma não-reordenar para um pedaço de códigos críticos C para evitar qualquer re-ordens de códigos binários Usando pragma para desligar o agendamento é muito pesada ferramenta para usar para ajuste de desempenho. Especialmente no nível C, as instruções de montagem e registos não são visíveis no programa C. Será muito difícil para o usuário controlar mesmo que tenhamos tal pragma. Ou talvez você realmente quer pragma otimizar fora neste caso 2. Uma mensagem de advertência em / nível W5 (não em outros níveis) precisa ser exibido quando há uma re-ordem (s) A reordenação pode acontecer em 99,99 casos Após a otimização, assim as mensagens seriam demasiadas e torná-lo inútil. Pode ser razoável adicionar uma opção de linha de comando, porém, mas apenas porque torna o código mais parecido com o que o cliente pode ler / entender (não por motivos de desempenho). Para 4, 5, 6 sobre este caso específico, estamos interessados ​​em reproduzir o problema e fixo do lado do compilador. As peças de código não podem fornecer informações suficientes para demonstrar o problema e procurar uma resolução. Você poderia fornecer um reprodutor para causar raiz e investigar mais a questão Espero que isso ajude. Yolanda Chen Intel Ferramentas de Suporte para Desenvolvedores Base de Conhecimento: software. intel/en-us/articles/toolsGenDepex. exe GenDepex. exe ou GenDepex. py - Converta a seqüência de dependência do arquivo para a expressão de dependência PI binária. Descrição GenDepex gera a expressão de dependência PI binária de acordo com o tipo de módulo analisando a seqüência de expressão de dependência de entrada ou o arquivo dxs pré-processado. Para o tipo de módulo PEIM, a expressão de dependência PEI será gerada. Para DXEDRIVER, UEFIDRIVER, DXERUNTIMEDRIVER, DXESALDRIVER e DXESMMDRIVER. A expressão de dependência DXE será gerada. A ferramenta GenDepex não é uma ferramenta autônoma. Quando a seção Depex é especificada no módulo INF, ela será usada pela ferramenta Construir. A ferramenta Construir primeiro analisa o conteúdo na seção depex para criar a seqüência de expressão de dependência e, em seguida, o GenDepex analisará a seqüência gerada. Quando uma seção depex não é especificada, mas o arquivo File. dxs existe, a ferramenta GenDepex será usada juntamente com o compilador e a ferramenta de corte EDKII. O File. dxs primeiro é pré-processado pelo compilador e, em seguida, processado pela ferramenta de corte para remover todos os outros código, exceto para o conteúdo de dependência, finalmente o GenPepex processará o arquivo de dependência pré-processado. Se nenhuma opção for especificada, a ferramenta exibirá uma mensagem de erro. Códigos de status retornados A ação foi concluída conforme solicitado. A ação falhou. Analise a seqüência de dependência de entrada baseada no tipo de módulo DXEDRIVER para gerar a expressão de dependência PI binária no arquivo test. depex de saída. Analise a seqüência de dependência de entrada baseada no tipo de módulo DXEDRIVER para gerar a expressão de dependência PI binária no arquivo test. depex de saída no modo de otimização. Analise o arquivo de dependência de entrada pré-processada (test. iii) com base no tipo de módulo DXEDRIVER para gerar a expressão de dependência PI binária na saída test. depex. O arquivo Test. iii é o arquivo dxs pré-processado como: Copyright (c) 2007 - 2016, Intel Corporation. Todos os direitos reservados. Este programa e os materiais que o acompanham são licenciados e disponibilizados nos termos e condições da Licença BSD que acompanha esta distribuição. O texto completo da licença pode ser encontrado em: O PROGRAMA É DISTRIBUÍDO SOB A LICENÇA BSD EM QUALQUER BASE ISQUOT, SEM GARANTIAS OU REPRESENTAÇÕES DE QUALQUER TIPO, SEJAM EXPRESSAS OU IMPLÍCITAS.

No comments:

Post a Comment