기존의 시스템을 변경하고 추가하는 과정에서
사뭇 심상치 않은 분(!)을 마주 보고 있습니다.
개발은 1999/06/20
특별한 주석은 없더군요.
개발문서는 어디에도 없습니다.
스크립트와 C가 섞여 있는데, 어떻게 손을 봐야 할까요?
아시는 분들은 기탄없이 주옥같은 한 말씀 해 주십시오.
$include "/export/test/inc/aaa_db.h";
#include <errno.h>
#include <fcntl.h>
#include <time.h>
...
$define MASTER_DBNAME master;
...
$datetime year to second update_set_time;
$static short bb_flg;
...
$extern char OutputCode1[8];
...
int Check_Soukan (int pno, INFO_PARA *compara )
{
int ret;
..
$UPDATE
SET = $db_supply,
field1 = 11,
field2 = 0,
field3 = " ",
field4 = "0341 ",
field5 = "0",
field6 = " ",
field7 = $update_set_time
WHERE field1 = $mm_date
AND field2 = $aa_no
AND field3 = $bb_no
AND field4 = $km_code;
}
|
전 임베디드 C를 써보진 않지만...
글을 읽다보니 막막하신 거 같아서, 제가 개념적으로만 알고 있는 대로 써보면..
소스를 보면, 말씀하시는 임베디드 C가 아니라 임베디드 SQL인거 같네요.
오라클의 Pro C 같은 걸 말씀하시는 거죠?
임베디드 SQL이라는 것은 기본적으로 C 컴파일러에 대한 전처리기죠.
#include나 #define과 같은 것은 C 문법의 일부가 아니라 전처리 과정에서 처리된다는 건 아실 거고, 그와 똑같은 관점에서 별도의 전처리 프로그램(일종의 파서같은)으로 임베디드 C 소스를 돌리면 순수 C 소스로 나옵니다.
그러니까, 임베디드 SQL 전처리 프로그램이 DB 서버에 연결하고 쿼리를 날리는 함수 호출들을 자동으로 넣어주는 겁니다. 이건 cpp.exe가 #include나 #define을 모두 처리해서 순수 C 소스로 만들어주는 거랑 똑같은 과정입니다.
이 정도의 이해를 하시고 뒤져보시면 전처리 프로그램을 찾으실 수 있을 거 같고, 그 프로그램으로 실제로 돌려보시면 디비 서버로 연결하고 쿼리를 날리는 함수들이 추가된 실제 C 소스를 만들어내실 수 있을 겁니다. 그거랑 비교해보면 금방 감이 오시지 않을까요?