전체 글 썸네일형 리스트형 [C언어] makefile 필요이유 1. 반복되는 컴파일 작업이 오래 걸림2. 수정된 파일만 컴파일 가능3. 대규모 프로젝트 ,공통 프로젝트에 필요 구조TARGET : DEPENDENCY command -> 탭으로 구분 여러 변수 사용해서 반복적으로 사용하지 않고 유연하게 사용할 수 있다MakefileMakefile은 컴파일과 빌드 과정을 자동화하는 파일gcc main.c -o main 같은 명령어를 매번 직접 입력하지 않고, 한 번 작성해두면 make 명령어 한 줄로 빌드가 가능Makefile의 주요 변수와 역할INSDIR (Installation Directory - 설치 디렉터리)프로그램을 최종적으로 어디에 복사할지 지정하는 변수보통 /usr/local/bin 같은 곳에 프로그램을 배포할 때 사용예시: make ins.. 더보기 [C언어] gettimeofday, timeval, tm , localtime_r 구조체구조체 tm#include struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst;}; 구조체 timevalstruct timeval { time_t tv_sec; /* 초 (seconds) */ suseconds_t tv_usec; /* 마이크로초 (microseconds) */}; 예제#include #include int main() { struct timeval tv; gettimeofday(&tv, NULL); long long timestamp = (long long)tv.t.. 더보기 [Pro*C 오라클 DB] Dynamic SQL 프로그램, SQL 동적처리 오라클에서 Analytic Function 이라는 통계 함수를 제공함 SQL> SELECT DEP, EMPNO, ENAME, SAL , CUMULATIVE, SUM(SAL) OVER(PARTITION BY DEPTNO ORDER BY SAL) COMULATIVE FROM EMP 위 SQL 문장은 Sqlplus 에서는 실행되지만Pro*C 프로그램으로 작성한 후 컴파일을 수행하면 컴파일 에러가 발생한다.-> Pro*C 컴파일러가 Analytic Function 문장을 SQL 문장으로 인식하지 못해서 발생 Analytic Function의 주요 특징OVER 절 사용Analytic Function은 OVER 절과 함께 사용OVER 절을 통해 데이터를 특정 그룹으로 나누거나 정렬 기준을 설정행별 계산 가.. 더보기 [Pro*C 오라클 DB] 프로그램 오류 처리, 데이터 처리 ORA - 1403 추출할 데이터가 없거나 갱신할 데이터가 없어서 발생함ORA - 0001 중복된 데이터가 입력되어 발생ORA - 1555 SELECT 중 읽고 있는 롤백 세그먼트의 이미지 클리어등 대부분의 경우는 쉽게 해결이 가능하다. 하지만ORA - 1405 의 경우에는 다른 특징이 있음추출된 데이터에 NULL 이 있을 경우 발생-> DB의 NULL과 0X00 같은 것이아님데이터의 처리에 있어 정의할 수 있는 값이 없기 때문에 발생 해결방법1. 프로그램에 의한 해결방법EXEC SQL DECLARE EMP CURSOR FOR SELECT NVL(empno,0), NVL(ename,'-') FROM scott.emp; NULL 데이터는 NVL 함수에 기술된 대로 치환되어 추출돈다.윈칙적으로 N.. 더보기 [Pro*C 오라클 DB] 호스트 변수 (배열, 구조체)를 이용한 프로그램 #include #include EXEC SQL BEGIN DECLARE SECTION; VARCHAR uid[20]; VARCHAR pwd[20]; int empno[5]; VARCHAR ename[5][20];EXEC SQL END DECLARE SETION;viod main() { int end; int loopIndex; int result; strcpy((char *)uid.arr,"userid"); uid.len = (short)strlen((char *)uid.arr); strcpy((char *)pwd.arr,"pwd"); uid.len = (short)strlen((char *)pwd.arr); EXEC SQL CON.. 더보기 [Pro*C 오라클 DB] 단일 행 추출 프로그램 Pro*C 파일 (single_row.pc)/* single_row.pc: Pro*C를 이용한 단일 행 추출 프로그램 */#include #include /* 데이터베이스 연결 정보 선언 */EXEC SQL BEGIN DECLARE SECTION;char username[20] = "scott"; /* 사용자 이름 */char password[20] = "tiger"; /* 비밀번호 */int employee_id = 100; /* 검색할 직원 ID */char employee_name[50]; /* 직원 이름 결과 저장 */EXEC SQL END DECLARE SECTION;/* 에러 처리 함수 */void check_.. 더보기 [Pro*C 오라클 DB] Pro*C 컴파일 Pro*C 를 이용하여 실행파일을 만들기 위해서 3단게 작업을 거쳐야함 1단계 : 오라클 Pre Compiler를 이용하여 소스 프로그램 생성2단게 : Compiler 사용 컴파일3단계 : Linker로 실행 가능한 프로그램을 생성한다 링커는 라이브러리 호출을 해결하기 위하여 오라클 SQL 실행시간 라이브러리 호출 실핼 가능한 프로그램을 생성하기 위해 SQL 문장을 처리하는오라클 라이브러리 SQLLIB과 오브젝트코드 를 처리 1. Pro*C Precompiler를 사용해 .pc 파일을 .c 파일로 변환Pro*C 소스 파일(.pc)은 Oracle SQL과 C 코드를 혼합하여 작성됩니다.proc 명령어를 사용하여 .pc 파일을 .c .. 더보기 [Pro*C 오라클 DB] Pro*C 프로그램 구성과 DB접속 Pro*C 프로그램은 큰 맥락에서 2개 부분으로 구성 되어있다.1. 어플리케이션 프롤로그 ㄴ> 변수를 정의하고 Pro*C 프로그램을 위한 일반적인 준비수행2. 어플리케이션 본체 ㄴ> ORACLE 데이터를 조작하기 위한 쿼리문을 포함 Pro*C가 처리할 때 필요로 하는 코드의 앞뒤에 C코드 지정 가능 어플리케이션 프롤로그1. 선언절Pro*C 프로그램에서 사용 되는 모든 호스트 변수 및 지시자 변수의 선언을 의미외부 선언은 전역, 내부 선언은 지역적으로 사용함 1-1. 호스트 변수Pro*C에서 사용하는 변수 중에서 SQL 문과 프로그램 문에서 모두 참조되어 사용되는 변수데이터 형은 선언 절에서 Pro*C 의 호스트 언어를 사용해서 선언되어야함호스트 변수의 선언 .. 더보기 이전 1 2 3 다음