본문 바로가기

전체 글

(704)
정적 라이브러리 빌드 [1. 개요] 여러개의 소스코드로 이루어진 라이브러리를 정적라이브러리로 빌드 후, main() 함수가 정의 된 소스코드와 같이 컴파일 하는 과정 정리한다. CMake 형태의 C++ 프로젝트의 경우 cmake => make 로 컴파일을 쉽게 할 수 있지만, 새로운 라이브러리를 테스트 해야 하는 경우, 별도의 cmake 를 작성하는 것이 다소 부담스러울 수 있다. 이 경우, gcc(혹은 g++) 와 ar 을 이용하여 라이브러리 빌드 후, main() 과 링킹하여 간단하게 테스트 프로그램을 만들 수 있다. [2. 기본 개념] 정적 라이브러리 빌드는 보통 아래 과정을 거친다. 소스코드에 대해서 object 파일 생성 object 파일을 하나의 archive 파일로 묶는다. 1번 과정에서 gcc (g++) 를 사..
batch, for 문 [1. 개요] 윈도우 환경에서 batch script 작성 시 유용한 for 문 활용 방법을 정리한다. for 문의 기능 List 에 대한 iterate 증감에 대한 iterate 재귀적인 실행 directory 내 file 에 대한 iterate 명령어 결과에 대한 iterate 문자열 파싱 / tokenize cmd 에서 실행할 때는 % 를 한번만 작성 script 로 작성 할 때는, % 를 두번 작성해야 한다. for 문에 사용하는 변수명은 한글자만 가능하다. 보통, %a ~ %z, %A ~ %Z 대소문자 구분함. 자세한 사항은 for /? 로 확인 가능하다. [2. List 에 대한 iterate] for %a in (a b c) do echo %a # 출력 # a # b # c for %a in..
MySQL. unique key [1. 개요] unique key 의미와 사용 방법 정리 [2. 의미] 기본적으로 중복 데이터 저장을 방지하기 위함. 이미 이런 역할을 하는 Primary key 가 있고, PK 와의 차이점 PK 와 달리 NULL 을 허용한다. 테이블 당 하나만 존재 할 수 있는 PK 와 달리, 여러 개 존재 할 수 있다. [3. 생성 방법] 테이블 생성 시 CREATE TABLE `tmp`.`Message` ( `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `user_id` integer NOT NULL, `user_to` integer NOT NULL, `top_num` integer NOT NULL, `priority` smallint NOT NULL, `error` va..