Evitar áreas com problemas com programas Multithread
Há vários problemas que podem ocorrer na criação, vinculação ou executar um programa c multithread.Alguns dos problemas mais comuns são descritos na tabela a seguir.(Para uma discussão semelhante do ponto de vista do MFC, consulte Multithreading: dicas de programação.)
Problema |
Causa provável |
---|---|
Obtenha uma caixa de mensagem mostrando que o programa causou uma violação de proteção. |
Muitos erros de programação Win32 causam violações de proteção.Uma causa comum de violações de proteção é a atribuição indireta de dados para ponteiros nulos.Porque isso resulta 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 de detectar a causa uma violação de proteção é compilar seu programa com informações de depuração e executá-lo por meio do depurador no ambiente do Visual C++.Quando ocorre falha de proteção, o Windows transfere o controle para o depurador e o cursor está posicionado na linha que causou o problema. |
O programa gera diversos erros de compilação e vínculo. |
Você pode eliminar muitos problemas potenciais, definindo o nível de aviso do compilador para um de seus valores mais altos e prestando atenção em mensagens de aviso.Usando as opções de nível de aviso de nível 4 ou nível 3, você pode detectar conversões de dados não intencionais, faltando protótipos de função e uso de recursos não-ANSI. |