Często słyszę, że podczas kompilacji programów C i C ++ powinienem „zawsze włączać ostrzeżenia kompilatora”. Dlaczego to jest konieczne? Jak mogę to zrobić? Czasami słyszę też, że powinienem „traktować ostrzeżenia jako błędy”. Czy powinienem? Jak mogę to zrobić?
Od nowej wersji podglądu ADT (wersja 21) mają nowe ostrzeżenie o strzępach, które mówi mi następną rzecz w pliku manifestu (w znaczniku aplikacji): Powinien jawnie ustawić Androida: allowBackup na true lub false (domyślnie jest to prawda, i może to mieć wpływ na bezpieczeństwo danych aplikacji) Na oficjalnej stronie internetowej napisali: …
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default Ponownie włączę te ostrzeżenia dla czegoś poważnego, ale po prostu majstruję przy języku, a to doprowadza mnie do szału. Próbowałem dodać #[allow(dead_code)]do mojego …
W Visual C ++ można używać #pragma warning (disable: ...). Odkryłem również, że w GCC można przesłonić flagi kompilatora plików . Jak mogę to zrobić dla „następnej linii” lub z semantyką push / pop wokół obszarów kodu za pomocą GCC?
Chciałbym włączyć - dosłownie - WSZYSTKIE ostrzeżenia, które ma GCC. (Myślisz, że to będzie łatwe ...) Pomyślałbyś, że -Wallmoże załatwić sprawę, ale nie! Nadal potrzebuję -Wextra. Pomyślałbyś, że -Wextramoże załatwić sprawę, ale nie! Nie wszystkie ostrzeżenia wymienione tutaj (na przykład -Wshadow) są włączone przez to. I nadal nie mam pojęcia, …
Dzięki tej prostej klasie otrzymuję ostrzeżenie kompilatora Próba modyfikacji / dostępu xw ramach własnego setera / gettera a kiedy używam tego w ten sposób: var p: point = Point() p.x = 12 Dostaję EXC_BAD_ACCESS. Jak mogę to zrobić bez wyraźnego tworzenia kopii zapasowych? class Point { var x: Int { …
Po przeczytaniu tej odpowiedzi o niezdefiniowanych zachowaniach i punktach sekwencji napisałem mały program: #include <stdio.h> int main(void) { int i = 5; i = (i, ++i, 1) + 1; printf("%d\n", i); return 0; } Wynik jest 2. O Boże, nie widziałem nadchodzącego dekretu! Co tu się dzieje? Ponadto podczas kompilacji …
Opcja g ++ -Wall obejmuje -Wreorder. Działanie tej opcji opisano poniżej. Nie jest dla mnie oczywiste, dlaczego kogoś to obchodzi (szczególnie na tyle, aby włączyć to domyślnie w -Wall). -Wreorder (tylko C ++) Ostrzegaj, gdy kolejność inicjatorów składowych podana w kodzie nie pasują do kolejności, w jakiej muszą być wykonywane. …
W przypadku myDelegate -= eventHandlerproblemów z ReSharper (wersja 6): Odejmowanie delegatów ma nieprzewidywalny wynik Racjonalne uzasadnienie tego jest wyjaśnione przez JetBrains tutaj . Wyjaśnienie ma sens, a po jego przeczytaniu wątpię w to, co robię -na delegatach. Jak wtedy , czy mogę napisać wydarzenie inne niż automatyczne bez zrzędliwości ReSharper? …
Kiedy używasz ObsoleteAtribute w .Net daje ci ostrzeżenia kompilatora, informujące cię, że obiekt / metoda / właściwość jest przestarzała i należy użyć czegoś innego. Obecnie pracuję nad projektem, który wymaga wielu zmian w kodzie byłych pracowników. Chcę napisać atrybut niestandardowy, którego mogę użyć do oznaczania metod lub właściwości, które będą …
Chciałbym użyć globalnego zestawu flag do kompilacji projektu, co oznacza, że w moim pliku CMakeLists.txt najwyższego poziomu określiłem: ADD_DEFINITIONS ( -Wall -Weffc++ -pedantic -std=c++0x ) Jednak dla określonego pliku (powiedzmy "foo.cpp") w podkatalogu, chcę przełączyć flagi kompilacji, aby nie stosować -Weffc ++ (dołączona biblioteka komercyjna, której nie mogę zmienić). Aby …
Podczas moich dni w C ++ uczono mnie o złu operatora rzutowania w stylu C, na początku z przyjemnością odkryłem, że w Javie 5 java.lang.Classnabyłem castmetodę. Pomyślałem, że wreszcie mamy OO sposób radzenia sobie z castingami. Okazuje się, że Class.castto nie to samo, co static_castw C ++. To jest bardziej …
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.