Przeczytałem niektóre z najlepszych praktyk dla projektu GNOME, a jedną z rzeczy, które podkreślały, było unikanie funkcji C99, ponieważ wsparcie nadal nie było szeroko rozpowszechnione. Niektóre z rzeczy, o których wspomnieli, to funkcje takie jak komentarze jednowierszowe i deklarowanie zmiennych w środku bloku. Zastanawiam się, czy obsługa C99, nawet dla podstawowych funkcji, takich jak komentarze //
, wciąż nie jest powszechna? Minęło już prawie 15 lat, odkąd standard został przyjęty, a nawet otrzymaliśmy nowy standard w tym czasie. Czy to naprawdę nadal jest problem?Czy obsługa C99 nadal nie jest powszechna?
5
A
Odpowiedz
6
http://en.wikipedia.org/wiki/C99#Implementations
Wygląda na to, że wciąż jest trochę problem, nawet w GCC, ale wygląda na to, niektóre kompilatory handlowe wprowadziły całą normę.
Microsoft wielokrotnie powtarza, że nie ma planów wdrożenia standardu C99 w żadnym momencie w przyszłości, co jest wstydem dla programowania w systemie Windows.
6
Jedynym zdalnie stosowanym "kompilatorem C", który może być używany do aplikacji na komputery stacjonarne lub aplikacje mobilne, ale który nie obsługuje C99, jest MSVC. Jeśli piszesz oprogramowanie wbudowane dla niejasnych systemów z własnymi zastrzeżonymi kompilatorami, unikanie funkcji C99 może mieć sens, ale wybór w Gnome nie ma żadnego sensu.
Powiązane problemy
- 1. Czy rmic jest nadal potrzebny?
- 2. Czy nadal potrzebny jest ActionBarSherlock?
- 3. Czy COM + jest nadal zalecany?
- 4. kompilacja z c89 i c99 czy gcc 4.4.2 jest domyślnie C99?
- 5. Czy następujący program jest ściśle zgodnym programem C99?
- 6. SignalR - Sprawdzanie, czy użytkownik jest nadal podłączony
- 7. ASP.NET MVC - czy IsPostBack nadal tu jest?
- 8. Czy Yacc nadal jest używany w branży?
- 9. Czy Nad morzem nadal jest ważna opcja?
- 10. Czy bezpiecznie jest nadal używać ASIHTTPRequest?
- 11. Zależność C99 dla operatorów - gdzie jest określona?
- 12. Zbieranie/aktualizowanie kolekcji za pomocą mybatis, jaka jest powszechna praktyka?
- 13. czy nadal warto wspierać ios 3.1?
- 14. Czy google.loader.clientlocation nadal obsługiwane
- 15. Webdriver - Jak sprawdzić, czy przeglądarka nadal istnieje czy nadal jest otwarta?
- 16. Czy "elseif" nadal istnieje?
- 17. ActionController :: LIve Czy można sprawdzić, czy połączenie jest nadal aktywne?
- 18. Powszechna praktyka postępowania z przepełnieniami Integer?
- 19. Czy obsługa zdarzeń jest przetwarzana asynchronicznie?
- 20. Declarators semantyka w C99
- 21. Czy obsługa C# nie zawiera parametrów?
- 22. Czy coś jest nie tak z moją definicją srcset lub czy aktualna obsługa przeglądarki jest słaba?
- 23. Powszechna praktyka polimorfizmu wyższego rzędu w scala
- 24. Czy "ANSI C" lub "ANSI C++" nadal coś znaczą?
- 25. Obsługa przewijania JavaScript nie jest uruchamiana
- 26. jest pex naprawdę nadal aktywny?
- 27. Python: czy wątek nadal działa
- 28. Czy nadal potrzebujemy AsyncEnumeratora Richtera?
- 29. Obsługa Psycopg2 Python SSL nie jest kompilowana w
- 30. Czy Node.js nadal "krwawiąca krawędź"?
Huh. Czy wiesz, dlaczego MS nie wdroży C99? –
http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/ Jak rozumiem, będą one implementować tylko funkcje będące podzbiorem standardów C++. – Nobilis
@kunkelwe: Ponieważ jedynym zaangażowaniem Microsoft w proces standardu C jest sabotowanie go. –