본문 바로가기

C

[GLIB2] 개발 환경 구축 GLIB는 GTK+ 프로젝트의 일부분에서 UI를 제외한 부분이 독립적으로 떨어져 나온 라이브러리로 다양한 소프트웨어 라이브러리를 포함하고 있다. 많은 운영체제에 이미 포팅되어있어 크로스플랫폼을 지원하며 event loop, IO, 자료구조와 같은 다양한 소프트웨어 라이브 러리를 지원한다. 이를 이용하면 빠르게 프로그램 개발이 가능하다. 회사 임베디드 제품에 포팅하여 사용중에 있으며 개발 속도와 호환성이 뛰어나 다양한 제품에 적용중이다. API documents :https://docs.gtk.org/glib/ GLib-2.0 Reference for GLib-2.0 docs.gtk.org 개발환경구성 최근 문서에는 meson 빌더를 이용하여 구성하는것을 추천하는 편이긴하나 나의 경우에는 호환성이 더 우선.. 더보기
[Data Structures in c #0] 시작 전 환경 구성 autotools 를 이용하여 프로젝트 빌드 구성 디렉토리 구성 . ├── Makefile.am ├── configure.ac └── src ├── Makefile.am └── hello.c 1 directory, 3 files autotools 빌드 구성하기 configure.ac AC_INIT([datast], [1.0], [jy.park@piolink.com]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign -Wall -Werror]) AM_SILENT_RULES([yes]) AM_MAINTAINER_MODE m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) debug_default.. 더보기
C언어 개발 환경 구축 (3) - YouCompleteMe 개요 YouCompleteMe (이하 YCM)은 입력한 값을 토대로 추천 및 자동완성을 지원하고 실시간으로 syntax 체크를 수행하여 잘못된 라인을 표시해주고 에러를 출력해 준다. 이를 사용하려면 설정이 약간 복잡한 편이지만 우리는 앞서 "C언어 개발 환경 구축(2) - autotools"에서 autotools를 이용한 패키지 빌더를 선택하였기 때문에 손쉽게 설정 할 수 있다. YCM-Generator plugin 해당 플러그인은 cmake,autotools,qmake,make와 같은 빌더를 지원한다. 해당 빌드 시스템을 파싱하여 CFLAGS, LDFLAGS들을 분석하여 적절한 .ycm_extra_conf.py 파일을 생성하여 YouCompleteMe를 사용 할 수 있도록 지원한다. 앞서 사용한 amh.. 더보기
C언어 개발 환경 구축 (2) - autotools 개요 C언어로 작성된 파일을 컴파일 하기위해서는 여러가지 방법이 있다. 최근에는 autotools의 단점을 보완 또는 대체 하기위한 많은 빌더들이 난립하고 있는 상황이다. 하지만 autotools는 이식성 높은 프로젝트 빌더 툴로 예전부터 최근까지 또는 앞으로도 많이 사용될 빌더로 반드시 학습해야 한다. 프로젝트 구성 프로젝트: amhello 디렉토리 구성: amhello └── src └── main.c #include int main(int argc, char *argv[]) { printf("Hello autotools\n"); return 0; } Root Makefile.am 파일작성 autotools는 가장 상위 디렉토리의 Makefile.am을 참조하여 SUBDIRS를 참조하여 진행한다. a.. 더보기
C언어 개발 환경 구축 (1) - vim 에디터 개요 C언어를 학습하거나 개발하기 위한 기초적인 구성에 대해 설명하려한다. 앞으로 연재되는 포스트에서는 다음과 같은 것을 다룬다. 에디터의 설정 - vim 이식성 좋은 컴파일 빌더 - autotools 자동완성 기능 개발 환경 Ubuntu 20.04 vim 플러그인 매니져 설치 많은 플러그인이 있지만 가볍고 설치가 빠른 vim-plug를 추천한다. Vim-plug junegunn/vim-plug :hibiscus: Minimalist Vim Plugin Manager. Contribute to junegunn/vim-plug development by creating an account on GitHub. github.com vim-plug 설치 curl -fLo ~/.vim/autoload/plug.v.. 더보기