C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[12958] 'embedded system'과 전혀 관련이 없는 'embedded C?'라는 것에 대한 질문
소리바람.OJ [phonon] 2404 읽음    2007-05-09 15:09
기존의 시스템을 변경하고 추가하는 과정에서
사뭇 심상치 않은 분(!)을 마주 보고 있습니다.

개발은 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;
}
박지훈.임프 [cbuilder]   2007-05-09 18:03 X
별로 부담가지실 필요는 없으실 거 같은데요.
전 임베디드 C를 써보진 않지만...
글을 읽다보니 막막하신 거 같아서, 제가 개념적으로만 알고 있는 대로 써보면..

소스를 보면, 말씀하시는 임베디드 C가 아니라 임베디드 SQL인거 같네요.
오라클의 Pro C 같은 걸 말씀하시는 거죠?

임베디드 SQL이라는 것은 기본적으로 C 컴파일러에 대한 전처리기죠.
#include나 #define과 같은 것은 C 문법의 일부가 아니라 전처리 과정에서 처리된다는 건 아실 거고, 그와 똑같은 관점에서 별도의 전처리 프로그램(일종의 파서같은)으로 임베디드 C 소스를 돌리면 순수 C 소스로 나옵니다.

그러니까, 임베디드 SQL 전처리 프로그램이 DB 서버에 연결하고 쿼리를 날리는 함수 호출들을 자동으로 넣어주는 겁니다. 이건 cpp.exe가 #include나 #define을 모두 처리해서 순수 C 소스로 만들어주는 거랑 똑같은 과정입니다.

이 정도의 이해를 하시고 뒤져보시면 전처리 프로그램을 찾으실 수 있을 거 같고, 그 프로그램으로 실제로 돌려보시면 디비 서버로 연결하고 쿼리를 날리는 함수들이 추가된 실제 C 소스를 만들어내실 수 있을 겁니다. 그거랑 비교해보면 금방 감이 오시지 않을까요?
소리바람.OJ [phonon]   2007-05-09 18:19 X
다른 분이 임베디드 C라고 해서 의아했는데, 감사합니다.
제가 알고 상식으로도 임베디드 SQL로 생각이 들더군요. 그런데, 어렵게 예전 개발자로부터 임포믹스라는 얘기를 들었습니다.
현재는 DBMS가 DB2를 사용하기 때문에 마이그레션을 필요로 한다고 혼자 생각하고 있습니다. 그런데, IBM의 인포믹스의 설명서에 나와 있는 모습하고 전혀 달라서 또 한번 당황하고 있습니다. ^^;;;
최보현.U&I [uriduri]   2007-05-09 21:17 X
음 혹시 ESQL-C 라는 언어 가 아닌가 의심을 해봅니다. ^^
인포믹스용이구요~ SUN 스팍에서~ 돌아갔구요~
음 저희 집에 책도 있네요~ ^^ 96 년도 도서관서화 기상장비 할때 사용한 기억이 있네요~
최보현.U&I [uriduri]   2007-05-09 21:19 X
제가 기억 하기로는 인포믹스 에드온으로 익포믹스 ESQL-C 프리컴파일러를 거쳐서~
다시 C 로 컴파일링을 했던거로 기억 합니다.
최보현.U&I [uriduri]   2007-05-09 21:20 X
그러니깐 인포믹스 메뉴얼 봐서는 전혀 언급이 않되구요~ ESQL-C 메뉴얼을 봐야 비슷한 내용을 보실수 있을겁니다 .^^
소리바람.OJ [phonon]   2007-05-10 09:16 X
두분 모두 감사드립니다.
덕분에 구글에서 메뉴얼을 구해서 지금 보고 있습니다.
"EXEC SQL" 또는 "$"를 사용한다고 하는군요. 간단히 DB2의 SQC와 거의 같다는 걸 알았습니다.

+ -

관련 글 리스트
12958 'embedded system'과 전혀 관련이 없는 'embedded C?'라는 것에 대한 질문 소리바람.OJ 2404 2007/05/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.