Evitando áreas de problemas com programas com vários threads
Há vários problemas que podem ser encontrados em Criando, vinculando ou um programa em C com vários threads em execução.Alguns dos problemas mais comuns são descritos na tabela a seguir.(Para uma discussão semelhante sobre do ponto de vista do MFC, consulte Multithreading: De dicas de programação.)
Problema |
Causa provável |
---|---|
Você obtém uma caixa de mensagem mostrando que o programa causou uma violação de proteção. |
Muitos erros de programação do Win32 causam violações da proteção.Uma causa comum de violações da proteção é a atribuição indireta de dados para ponteiros nulo.Porque isso resultados em seu programa tentar acessar a memória que não pertence a ele, uma violação de proteção é emitida. Uma maneira fácil para detectar a causa uma violação de proteção é compilar seu programa com as informações de depuração e, em seguida, executá-lo por meio do depurador no ambiente do Visual C++.Quando ocorre falha de proteção, Windows transfere o controle para o depurador e o cursor é posicionado sobre a linha que causou o problema. |
O programa gera diversos erros de compilar e vínculo. |
Você pode eliminar muitos problemas potenciais, definindo o nível de aviso do compilador para um dos seus valores mais altos e heeding as mensagens de aviso.Usando o nível 3 ou nível 4 opções de nível de aviso, você pode detectar as conversões de dados não-intencional, faltando protótipos de função e uso de recursos não-ANSI. |