C로 임베디드 개발을 배우는 방법
다음 지침을 따라야 합니다:
1. 도구 사용
1. vim/emacs를 사용하는 방법을 배우십시오. vim/emacs가 가장 일반적입니다. Linux 소스 코드 편집 도구에서 사용하려면 이를 사용하여 소스 코드를 편집하는 방법을 배워야 할 뿐만 아니라 검색, 찾기, 바꾸기 등의 방법도 배워야 합니다. 초보자라면 현재 사용하고 있는 텍스트 편집기이기도 한 vim을 사용하는 것이 좋습니다.
2. makefile 파일 작성 규칙을 배우고 aclocal, autoconf 및 automake 도구를 사용하여 makefile 파일을 생성합니다.
3. g와 gdb의 기본 사용법을 익히세요. g의 사용법을 익히는 것은 소프트웨어 패키지를 구축하는 데 매우 유용합니다. 소프트웨어 패키지에 많은 파일이 포함되어 있으면 g를 사용하여 소프트웨어 패키지의 다양한 파일 간의 종속성을 이해할 수도 있습니다. . 명확한 이해.
4. svn/cvs의 기본 사용법을 익히세요. 이것은 Linux이며 오픈 소스 커뮤니티에서 가장 일반적으로 사용되는 버전 관리 시스템입니다. sourceforge의 일부 오픈 소스 프로젝트에 참여해 볼 수 있습니다.
2. Linux/unix 시스템 호출 및 표준 C 라이브러리
시스템 호출 응용 소프트웨어와 운영 체제 간의 인터페이스가 중요하고 숙달되어야 한다는 것은 말할 필요도 없습니다. 추천 학습 자료는 Mr. Steven의 UNIX 환경 고급 프로그래밍(약칭: APUE)입니다.
3. 라이브러리 학습
어떤 플랫폼에서 소프트웨어를 개발하든 라이브러리를 배우는 것은 매우 중요합니다. Linux에는 많은 개발 라이브러리가 있습니다. 내가 자주 사용하는 도서관.
1. glib 라이브러리
glib 라이브러리는 gtk와 gnome의 기본 라이브러리이며 크로스 플랫폼이며 Linux, Unix 및 Windows에서 사용할 수 있습니다. Linux 플랫폼 개발에 대한 glib 라이브러리의 영향은 Windows 플랫폼 개발에 대한 MFC의 영향과 같습니다. gimp, gnome, gaim,volution 및 클러스터 소프트웨어를 포함하여 많은 오픈 소스 프로젝트에서 glib 라이브러리를 광범위하게 사용합니다. Linux에서는 heartbeat. glib 라이브러리에는 자체 기본 데이터 구조 구현이 포함되어 있으므로 glib 라이브러리를 학습할 때 기본 데이터 구조(연결된 목록, 트리, 큐 및 해시 테이블 포함)를 배울 수 있습니다.
2. libxml 라이브러리
libxml은 Linux 플랫폼에서 XML 파일을 구문 분석하는 기본 라이브러리입니다. 요즘에는 많은 실제 소프트웨어에서 XML 형식의 구성 파일을 사용하므로 이에 대한 학습이 필요합니다. 그것.
3. readline 라이브러리
readline 라이브러리는 bashshell에서 사용하는 라이브러리입니다. 명령줄 프로그램을 개발하려는 경우 readline 라이브러리를 사용하면 작업량을 많이 줄일 수 있습니다. bash의 명령줄 자동화와 같은 기능은 이미 readline에 구현되어 있습니다. 물론 자체 구현을 사용하여 라이브러리의 동작을 대체할 수도 있습니다. readline 라이브러리를 소개하는 웹사이트가 많이 있습니다. Google readline만 검색해도 여러 곳을 찾을 수 있습니다.
4. Curses 라이브러리
curses 라이브러리는 원래 vi 프로그램의 일부였지만 나중에 vi에서 추출되어 독립 라이브러리가 되었습니다. curses 라이브러리는 터미널의 특정 줄이나 열에서 출력 찾기, 터미널 글꼴 색상 및 터미널 모드 변경과 같은 터미널 관련 프로그램을 작성하는 데 특히 유용합니다. Linux의 저주 라이브러리는 GNU에서 구현한 ncurses(새로운 저주를 의미)를 사용합니다.
5. gtk 및 KDE 라이브러리
이 두 라이브러리는 GUI 응용 프로그램을 개발하기 위한 기본 라이브러리입니다. 현재 Linux에서 대부분의 GUI 프로그램은 이 두 라이브러리를 기반으로 개발됩니다. 또한 그들을 연구하는 데 필요합니다.
4. 네트워크 학습
네트워크가 너무 광범위하면 libnet을 사용하여 네트워크 프로그램을 작성하는 방법을 배울 수 있습니다.