G'day,
Jednym z problemów z tej ograniczonej rozdzielczości symbol pojawia się w momencie połączenia.
Wiele symboli o tej samej nazwie może istnieć w kilku bibliotekach, a edytor linków zwykle zajmuje tylko pierwsze znalezione pasujące do poszukiwanego elementu.
Używając powyższego przykładu S.Lott, jeśli twój edytor linków szuka symbolu "a_very_long_name" i znajduje bibliotekę na swojej ścieżce wyszukiwania, która zawiera symbol "a_very_long_name_thats_too_similar", zajmie to. Stanie się tak, nawet jeśli w twoim poleceniu została określona biblioteka zawierająca żądany symbol, tj. "A_very_long_name". Na przykład, określając biblioteki jako:
-L/my/library/path -lmy_wrong_lib -lmy_correct_lib
Obecnie opcje kompilatora, lub bardziej poprawnie skompilować opcji czasowych, które są przekazywane za pośrednictwem łącza do edytora, który egzekwowania poszukiwania wielu symboli w ścieżce łącza. Są one zwykle zgłaszane jako błędy w czasie połączenia.
Ponadto wiele kompilatorów, np. gcc, domyślnie będzie takie zachowanie. Musisz wyraźnie włączyć wiele definicji, aby umożliwić edytorowi linków kontynuację bez zgłaszania błędu krytycznego, jeśli znajdzie wiele definicji dla symbolu.
BTW Gorąco polecam pracę nad ćwiczeniami w połączeniu z książką Clovis Tondo "The C Answer Book 2nd ed.".
Takie postępowanie naprawdę pomaga w utrzymaniu C w pamięci.
HTH
okrzyki,
Jeśli dopiero zaczynasz C, czemu chcą wiedzieć K & R? Ansi C89/99 jest znacznie bardziej "normalny" i popularny. – Earlz
Nie byłem pewien, którą książkę kupić, aby się uczyć C. Powiedziano mi, że K & R może nauczyć mnie programowania w C, ale jak na razie wydaje mi się, że czasami trudno to zrozumieć. Wydaje się być trochę niejasna, pełna zwięzłości i zaawansowanego żargonu. Mogę się jednak mylić ... – withchemicals
"K & R C" był oryginalnym, obecnie przestarzałym dialektem C wprowadzonym przez pierwszą edycję książki K & R. Oczekuję (i mam nadzieję!), Że faktycznie masz drugą edycję K & R, która obejmuje ANSI C. Jest to świetna książka, ale od tego czasu pojawiły się kolejne wersje standardu ANSI C. Zmiany nie są ogromne, ale warto o tym wiedzieć. Otrzymujesz teraz nowe typy, takie jak booleans i long-longs, i tak, granice crazy-short identifier są znacznie podwyższone. – bobince