Skip to content
EntityQ1964707· pop 14· linked from 112 articles

comportamento indefinido

Sign in to save

Also known as UB, nasal demons, undefined behaviour

behavior of erroneous computer programs that the language standard permits to be unpredictable

Article · Português

Na ciência da computação, comportamento indefinido é um recurso existente em algumas linguagens de programação, notoriamente na linguagem C. Para simplificar a especificação e permitir maior flexibilidade de implementação, as especificações determinam que o resultado de algumas operações é indefinido. Operações que não sejam explicitamente definidas por um padrão também são associadas a comportamento indefinido. Por exemplo, em C, o uso de qualquer variável antes que seu valor tenha sido inicializado leva a comportamento indefinido, assim como dividir um número por zero e indexar um vetor em índices que excedem seus limites (transbordamento de dados). Ao se deparar com qualquer uma dessas situações, o compilador é livre para qualquer ação, que pode ser a mais simples, a mais eficiente ou qualquer outra coisa. É importante salientar que absolutamente qualquer ação tomada pelo compilador diante de uma situação de comportamento indefinido é válida, incluindo gerar mensagens de advertência ou silenciosamente ignorar a situação. Isso pode fazer com que programas aparentemente corretos, os quais compilam e rodam normalmente em uma determinada plataforma, deixem de compilar, sofram falhas de execução ou se comportem de maneira imprevisível em outras.

Abstract from DBpedia / Wikipedia · CC BY-SA

comportamento indefinido · Vinony