Linux에서 C로 응용 프로그램을 개발할 때 유용한 최신 사례를 보여주는 중소 규모의 프로그램/프로젝트를 찾고 있습니다. 나는 현실 세계에서 일들이 어떻게 이루어지는지를 모범적이고 호기심으로 배우고 싶다.C 및 Linux의 현대 사례/예제
답변
XMMS2 코드베이스는 상당히 젊어서 C 스타일을 코딩 스타일로 사용하는 좋은 예이며 현대적이지만 매우 깨끗한 (많은 플랫폼을 구축해야 함) 패션에도 사용됩니다.
크로스 플랫폼 통신이 가능한 클라이언트 - 서버 모델, 서버 내부의 객체 지향 시스템, 정교한 플러그인 시스템, 사운드 카드를 실시간으로 공급할 스레딩 기능을 포함합니다. 플러그인은 또한 타사 라이브러리를 통합하는 좋은 예를 제공합니다. 또한 여러 언어 바인딩을 사용할 수있는 내 보낸 API를 보완합니다 (이를 수행하는 방법을 보여줍니다).
xmms2 코드에서 다루는 여러 가지 현대 문제를 볼 수 있습니다. 코드베이스는 매우 깨끗하며 여기 저기에 "구식 코드"가 거의 없으며 여전히 잘 작성되어 있습니다.
또한 정교한 빌드 시스템을 사용하며 개발자는 git의 기능에 크게 의존합니다. 그래서 평범한 코드 자체보다 더 배울 것이 있습니다. 커뮤니티에 관한 정보는 IRC에 문의하십시오.
단점 : 그것은 작은 없습니다. 그러나 상대적으로 모듈 식입니다. 특히 서버 구성 요소가 별개의 개체로되어 있으므로 특정 문제를 다루고 그로부터 배울 수 있습니다. 또는 심지어 자신의 클라이언트, 플러그인을 작성하려고 시도합니다.
제 조언은 엄청납니다. 좋은 관행은 거의 소규모 프로젝트에 의존하지 않으며 큰 프로젝트의 우수 사례는 주로 한 사람의 작은 프로젝트에서 당신을 열 받게 만듭니다.
간단하게 읽을 수있는 기쁨이다 좋은 책. * nix 프로그래머 나 C 프로그래머가 아니더라도 예제와 사례 연구는 훌륭합니다.
큰 프로젝트에주의하십시오. 그들은 레거시 코드와 다른 정신을 뒤범벅 할 수 있습니다. 예 : 모질라/파이어 폭스 코드베이스를 예로 들지 마세요. 천천히 나아지고있는 거대한 엉망입니다.
- 1. Linux의 현대 일괄 처리
- 2. Linux의 CallNtPowerInformation 및 GetPwrCapabilities
- 3. Linux의 C++에서 UDP
- 4. 현대 언어 및 배열 표기 규칙
- 5. Windows 및 Linux의 Hashlib
- 6. 현대 C++ 리소스를 다시 학습 하시겠습니까?
- 7. 현대 GUI 개발
- 8. Linux의 초기화 및 교체 작업
- 9. 현대 런타임이란 무엇입니까?
- 10. DPMI와 동등한 현대
- 11. Windows 및 Linux의 P4 루트 및 Altroot
- 12. Ubuntu LInux의 C API를 사용하여 파일 잠금 및 잠금 해제
- 13. 좋은 현대 코드는 어떻게 생겼습니까?
- 14. "현대"regexes의 인식력
- 15. javadeps와 동등한 현대?
- 16. 스레드 현대 접근
- 17. Linux의 신호 메커니즘과 동일한 C#은 무엇입니까?
- 18. Objective-C 블록은 Linux의 컴파일러에서 지원됩니까?
- 19. Linux의 C# : 로컬 네트워크에있는 컴퓨터를 열거하는 방법?
- 20. Linux의 C++에서 하드 디스크 섹터 읽기
- 21. C++ 도구에서 ....까지? 현대 도구에 익숙해 지려고 노력합니다.
- 22. 대부분의 현대 시스템에서 스택 성장의 방향은 무엇입니까?
- 23. 레거시 앱에서 현대 데이터 액세스하기
- 24. Linux의 _splitpath
- 25. Linux의 ApnsPHP
- 26. 현대 기계의 메모리 대역폭 성능
- 27. Tomcat/Linux의 UTF-8 및 서블릿
- 28. Mac 및 Linux의 Wacom 태블릿에 Python 사용
- 29. Windows 및 Linux의 CSS 위치 지정의 차이점
- 30. Linux의 하드웨어 성능 카운터 사용