Właśnie straciłem trzy dni mojego życia, szukając bardzo dziwnego błędu, w którym unordered_map :: insert () niszczy wstawioną zmienną. To wysoce nieoczywiste zachowanie występuje tylko w najnowszych kompilatorach: stwierdziłem, że Clang 3.2-3.4 i GCC 4.8 są jedynymi kompilatorami, które zademonstrowały tę „funkcję”. Oto trochę zredukowany kod z mojej głównej bazy …
Mam wirtualny system Debian, którego używam do tworzenia. Dzisiaj chciałem spróbować llvm / clang. Po zainstalowaniu clang nie mogę skompilować moich starych projektów c (z gcc). To jest błąd: ... /usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or directory collect2: ld …
Który plik nagłówkowy powinienem wywołać, #includeaby móc używać PATH_MAX jako int do określania rozmiaru ciągu? Chcę móc zadeklarować: char *current_path[PATH_MAX]; Ale kiedy to robię, mój kompilator (Clang / LLVM w systemie Linux) wyświetla następujący błąd: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ Próbowałem przeprowadzić wyszukiwanie w Google, …
Próbuję wykryć kompilator użyty do skompilowania mojego kodu źródłowego. Mogę łatwo znaleźć predefiniowane makra do sprawdzenia MSVC lub GCC (patrz na przykład http://predef.sourceforge.net/ ), ale nie mogę znaleźć żadnego makra do sprawdzenia, czy nie ma clang. Czy ktoś wie, czy clang definiuje takie makro __CLANG__, aby wiedzieć, co aktualnie kompiluje …
Badam potencjalne przyspieszenia uzupełniania kodu podczas korzystania z mechanizmu uzupełniania kodu Clang. Przepływ opisany poniżej jest tym, co znalazłem w rtagach autorstwa Andersa Bakkena . Jednostki tłumaczeniowe są analizowane przez demona monitorujące pliki pod kątem zmian. Robią to wywołane clang_parseTranslationUniti powiązane funkcje ( reparse*, dispose*). Gdy użytkownik zażąda uzupełnienia w …
Podczas kompilowania kodu źródłowego C za pomocą gcc lub Clang, zawsze używam -gflagi do generowania informacji debugowania dla gdb. gcc -g -o helloworld helloworld.c Zauważyłem, że niektórzy -g3zamiast tego polecają . Jaka jest różnica między flagami -gi -g3? Czy jest też różnica między -gi -ggdb?
Zastanawiałem się, jak zdusić ostrzeżenie: Kategoria implementuje metodę, która będzie również implementowana przez klasę podstawową. Mam to dla określonej kategorii kodu: + (UIFont *)systemFontOfSize:(CGFloat)fontSize { return [self aCustomFontOfSize:fontSize]; }
Obecnie interesuje mnie ogólnie ARM, a konkretnie cele dla iPhone / Android. Ale chcę tylko dowiedzieć się więcej o clang, ponieważ wydaje mi się, że będzie odgrywał ważną rolę w nadchodzących latach. próbowałem clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v search clang -cc1 --help|grep target -triple <value> …
Zainstalowałem Clang za pomocą apt-get w Ubuntu i mogę z powodzeniem skompilować pliki C przy jego użyciu. Jednak nie mam pojęcia, jak za jego pomocą skompilować C ++. Co muszę zrobić, aby skompilować C ++?
To pytanie rozwinęło się w ciągu ostatnich kilku tygodni, aby objąć bardziej ogólne problemy z xcode4 (i aktualizowanie projektów ze starszych wersji xcodes). Jednak wiele problemów można rozwiązać, postępując zgodnie z tym samym zestawem instrukcji. Jeśli masz którykolwiek z poniższych problemów, wypróbuj metody z zaakceptowanej odpowiedzi: Xcode 4 nie archiwizuje …
Na gcc, instrukcja wyjaśnia, co -O3, -Ositp tłumaczyć w kategoriach argumenty specyficzne Optimization ( -funswitch-loops, -fcompare-elimetc.) Szukam tych samych informacji dla clang . Zajrzałem do Internetu, w man clangktórym podano tylko ogólne informacje ( -O2optymalizuje więcej niż -O1, -Osoptymalizuje pod kątem szybkości,…), a także spojrzałem tutaj na przepełnienie stosu i …
Czy istnieje środowisko C / C ++ IDE dla systemu Windows, które jest zintegrowane z kompilatorem LLVM (i analizatorem Clang C / C ++), tak jak robi to nowoczesny Xcode. Mam Dev-Cpp (używa przestarzałego GCC) i Code :: Blocks (z niektórymi GCC). Ale GCC daje mi bardzo tajemnicze komunikaty o …
Bawiłem się przez jakiś czas z clang i natknąłem się na "test / SemaTemplate / dependent-template-recovery.cpp" (w dystrybucji clang), który ma dostarczać wskazówek, jak odzyskać dane po błędzie szablonu. Całość można łatwo sprowadzić do minimalnego przykładu: template<typename T, typename U, int N> struct X { void f(T* t) { // …
Próbowałem sprawdzić, gdzie floattraci zdolność do dokładnego reprezentowania dużych liczb całkowitych. Więc napisałem ten mały fragment: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Ten kod wydaje się działać ze wszystkimi kompilatorami, z wyjątkiem clang. Clang generuje prostą nieskończoną pętlę. Godbolt …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.