Błąd niezdefiniowane odniesienie do funkcji w C

Błąd niezdefiniowane odniesienie do funkcji w C
Widzieliśmy i rozwiązaliśmy wiele wyjątków podczas kodowania każdego języka programowania. Nieokreślone odniesienie jest jednym z tych wyjątków, które wystąpiły głównie w języku C, ponieważ nazwa sugeruje, że wystąpiłaby, gdy brakuje definicji funkcji w skrypcie. Zatem ten artykuł poda kilka łatwych metod rozwiązania tego błędu, zaczynając od tworzenia. Upewnij się, że zaloguj się z systemu Linux i otwórz terminal, aby rozpocząć wdrażanie metodą skrótu „CTRL+Alt+T”.

Uwaga: zainstalowaliśmy już kompilator GCC w naszym działającym systemie operacyjnym.

Przykład 01:

Jedną z popularnych przyczyn błędu niezdefiniowanego odniesienia może być jakiś numer nazwy funkcji. Tak więc, w tym przykładzie, zobaczymy, w jaki sposób błąd można wygenerować i rozwiązać za pomocą nazwy funkcji. Będziemy tworzyć nowe „exp.plik C ”, aby dodać do niego nasz kod C w terminalu powłoki.

$ touch exp.C

Plik został pomyślnie utworzony w katalogu domowym. Aby otworzyć ten plik, potrzebujemy aplikacji edytora. Dlatego wykorzystaliśmy redaktor nano, aby go otworzyć.

$ nano exp.C

Utrzymaliśmy nasz kod C prosty dla łatwego zrozumienia naszych użytkowników. Na początku kodu dołączyliśmy plik nagłówka. Następnie zdefiniowano funkcję main (), aby wydrukować, że teraz pracujemy nad główną metodą. Zaklęcia nazw funkcji są nieprawidłowe. Zatem musi wyświetlać nieokreślony błąd odniesienia podczas kompilacji kodu. Zapisaliśmy nasz plik kodu i wróciliśmy do powłoki.

Upewnij się, że w systemie Linux masz skonfigurowany kompilator C. Używamy tutaj Everlasting GCC kompilator do skompilowania powyższego kodu C. Po kompilacji z kompilatorem GCC mamy niezdefiniowane odniesienie do błędu Main () zgodnie z oczekiwaniami.

$ gcc exp.C

Po wykonaniu pliku mówi, że nie ma takiego pliku ani katalogu.

$ ./A.na zewnątrz

Popraw kod i zmień nazwę funkcji na main () zgodnie z poniższym obrazem.

Tak więc, tym razem, kiedy kompilujesz i wykonujesz plik, będzie on działał idealnie bez żadnego błędu, i.mi., Niezdefiniowane odniesienie do funkcji.

$ gcc exp.C
./A.na zewnątrz

Przykład 02:

Miejmy kolejny przykład tego samego błędu. Więc otwórz ten sam plik i dodaj standardowy nagłówek wejściowy. Prototyp funkcji dla metody show () został następnie zadeklarowany. Ostatecznie zdefiniowano główną metodę, aby wydrukować trochę tekstu i wywołać funkcję show (), co zostało ogłoszone wcześniej.

Po kompilacji mamy błąd jako niezdefiniowane odniesienie do show (). Wynika to z faktu, że metoda show () została zadeklarowana, ale nie zdefiniowana w kodzie.

$ gcc exp.C

Aby rozwiązać ten błąd, ponownie zaktualizowaliśmy kod. Dodano definicję funkcji metody show () po głównej metodzie. Ta metoda zawiera w niej pojedynczą instrukcję drukowania.

Kiedy opracowaliśmy plik, błąd został rozwiązany, a kod został pomyślnie wykonany.

$ gcc exp.C
./A.na zewnątrz

Przykład 03:

Kolejnym błędem, które większość użytkowników popełnia podczas programowania, jest nie zwracanie uwagi na wrażliwość przypadków składni języka. Może to również spowodować wystąpienie niezdefiniowanego błędu. Spójrzmy na ten problem w tym przykładzie. Do tej pory użyliśmy tego samego kodu. Właśnie użyliśmy innej składni przypadków dla nazw funkcji, i.mi., Pokaż i pokaz. Definicja funkcji zawiera małą nazwę litery, podczas gdy wywołanie funkcji zawiera litery kapitałowe. Zapisz ten kod.

Użył kompilatora GCC do skompilowania exp.plik C. Błąd: Nieokreślone odniesienie do funkcji show () pojawiło się na terminalu, zgodnie z przewidywaniami.

$ gcc exp.C

Aby rozwiązać ten błąd, po prostu otwórz plik i wykonaj nazwę funkcji tak samo w definicji funkcji i wywołaniu funkcji. Więc kiedyś pokazaliśmy (), i.mi., małe nazwy przypadków, aby pójść dalej. Zapisz ten zaktualizowany kod, aby go skompilować.

Kiedy w końcu skompilowaliśmy kod, z powodzeniem został skompilowany bez żadnych błędów. Zatem wykonanie tego pliku działa dobrze zgodnie z poniższym obrazem.

$ gcc exp.C
./A.na zewnątrz

Wniosek:

W tym przewodniku widzieliśmy, w jaki sposób prosty błąd użytkownika może spowodować niezdefiniowane odniesienie błędu do funkcji. Aby rozwiązać ten błąd, wdrożyliśmy proste metody na ilustracjach, aby dobrze je zrozumieć. Mamy nadzieję, że ten artykuł spełnia Twoje wymagania w najlepszym wydaniu.