목록C (14)
준호씨의 블로그
hiredis 를 yum 이나 apt-get 등으로 사용할 수 없고, ansible 버전이 2.1 보다 낮은 경우 make 를 사용할 수 없는데 그런 경우 사용하는 방법입니다. hiredis-0.14.0.tar.gz 는 https://github.com/redis/hiredis/releases 에서 미리 받아 두고 ansible 의 files 디렉토리에 넣어 둡니다. task 는 다음과 같이 작업합니다. sudo 나 tags, dest 디렉토리 등은 상황에 맞게 넣어 주시면 됩니다. - name: unarchive logstash unarchive: src=hiredis-0.14.0.tar.gz dest=/work/ tags: - lib_hiredis - name: make && make install ..
코딩 채널을 분리 했습니다. 채널명은 잉여코더. 첫화로는 2014년에 올렸던 내용 리메이크로 제작해 보았습니다. (2014년 글 https://junho85.pe.kr/93) hello.c 소스코드 예제 #include int main() { printf("hello june!\n"); printf("hello july!\n"); return 0; } 컴파일 커맨드는 $ gcc hello.c 실행파일이 a.out 으로 만들어 집니다. $ gcc hello.c -o hello 실행파일이 hello 로 만들어 집니다. $ make hello cc hello.c -o hello 가 실행 됩니다. cc 나 gcc 나 c compiler 입니다. OS 나 환경에 따라 같은거일수도 있고 조금 다를 수도 있으나 당장..
google test 는 cpp 를 기반으로 한다. 그래서 일반적인 방법으로는 c 코드나 c 라이브러리를 테스트를 할 수 없다. c 코드를 테스트 하려고 하면 "Undefined symbols" 같은 오류를 만나게 된다. c 코드를 테스트 하는 방법들에 대해 적어 본다. 개발툴은 CLion 을 사용 할 것이다. include c file 꼼수를 좀 부려 보면 include 할 때 h (header) 파일이 아니고 c 파일을 include 하면 된다. june.h june.c 로 된 코드가 있다면 #include "june.h" 대신 #include "june.c" 로 하면 된다. 하지만 include c 파일을 한다는게 좀 그렇다. 어쩔 수 없는 상황에서는 쓰게 될 것도 같은데 실제로 이런 경우는 겪어 ..
레거시 시스템을 만지다 보니 안쓰는 라이브러리가 있어서 관련 컴파일 옵션을 지웠다. 그 중 하나가 libgd 인데 그래픽 처리와 관련된 라이브러리였다. 참고 삼아 남겨본다. 예제 /* Bring in gd library functions */ #include "gd.h" /* Bring in standard I/O so we can output the PNG to a file */ #include int main() { /* Declare the image */ gdImagePtr im; /* Declare output files */ FILE *pngout, *jpegout; /* Declare color indexes */ int black; int white; /* Allocate the image..
C 언어를 처음 할 때에는 변수 선언은 가장 위에만 했어야 했고, for loop index 변수는 밖에서 선언하고 사용 했어야 했다. 하지만 C 언어도 세월이 흘러 그러한 제약들이 사라진지 이미 오래 되었다. C 언어 표준들에 대해 간단히 메모 해 본다. C11 - 2011 https://en.wikipedia.org/wiki/C11_(C_standard_revision)) C99 - 1999 https://en.wikipedia.org/wiki/C99 gcc --std=c99 for loop 에 초기화 변수 선언 가능 for (int i=0; i