Udostępnij za pośrednictwem


Unikanie obszarów problemów z programami wielowątkowymi

Istnieje kilka problemów, które mogą wystąpić w tworzenie, łączenie lub wykonaniem programu wielowątkowy C.W poniższej tabeli opisano niektóre z bardziej typowych problemów. (Omówienie podobne z punktu widzenia MFC, zobacz wielowątkowość: porady dotyczące programowania.)

Problem

Prawdopodobna przyczyna

Otrzymasz komunikat, wykazujące, że Twój program spowodował naruszenie ochrony.

Wiele błędów programowania Win32 spowodować naruszenie ochrony.Częstą przyczyną naruszenia ochrony jest pośrednie przydziału danych, aby wskaźniki zerowe.Ponieważ skutkuje to program próbuje uzyskać dostęp do pamięci, która nie należy do niego, wydawany jest naruszenie ochrony.

Aby skompilować program z informacjami debugowania i następnie uruchomić go za pomocą debugera w środowisku Visual C++ jest łatwy sposób wykryć przyczynę naruszenie ochrony.W przypadku wystąpienia błędu ochrony systemu Windows przekazuje sterowanie do debugera, a kursor jest umieszczony w wierszu, który spowodował problem.

Program generuje dużo błędów kompilacji i łącza.

Wiele potencjalnych problemów można wyeliminować przez ustawienie jednego z jej najwyższe wartości poziomu ostrzeżeń kompilatora i zważając komunikaty ostrzegawcze.Przy użyciu poziom 3 lub poziom 4 opcji poziom ostrzegawczy, można wykryć konwersji danych niezamierzone, brak prototypów funkcji i korzystania z funkcji nie ANSI.

Zobacz też

Koncepcje

Wielowątkowość z językiem C i podsystemem Win32