지금 상황에서 사용 가능한 xml parser 로 현재 xerces 와 expat 두가지가 있습니다.
하지만. xml 문서를 읽게될 부분의 언어가 c 로 구성되어 있기 때문에 c 를 지원하는 expat를 사용하긴 해야 겠는데요.(xerces 는 c++만 지원하는듯..)
xerces 를 c 에서 사용할 수 있는 방법이 있는지 해서 이렇게 질문 올립니다..
그럼..
xerces 를 사용하는 라이브러리를 만듭니다.
그리고 그 라이브러리 내의 모든 함수는 "extern C" 형식을 쓰게 합니다.
예전에 저도 오픈소스를 하나 좋은거 구했는데 C++ 이라서
나머지는 C 로 코딩되어서 C++ 부분을 DLL 로 만들고.....
DLL 내 함수에서 클래스를 선언하고 다시 이용한 기억이 있네요.....
그리고 만일 클래스에 대한 참조가 필요하다면 객체에 대한 주소를 함수 인자로
주고 받으면 가능하다고 봅니다.
extern "C" __declspec (dllexport) int FlashConvert (char inputFile[],char outputFileName[]); extern "C" { int FlashConvert (char inputFile[],char outputFileName[]) { Swf2HtmlConverterStdio converter; converter.ConvertSwf2Html(inputFile, outputFileName); return 0; } }
이런형식으로 써서... C 에서 함수를 호출한 기억이 있네요 ^^
도움 되시기를....
가자 해외로 ~ .. 돈 벌러.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
xerces 를 사용하는 라이브러리를 만듭니다.그리고 그 라이브러
xerces 를 사용하는 라이브러리를 만듭니다.
그리고 그 라이브러리 내의 모든 함수는 "extern C" 형식을 쓰게 합니다.
예전에 저도 오픈소스를 하나 좋은거 구했는데 C++ 이라서
나머지는 C 로 코딩되어서 C++ 부분을 DLL 로 만들고.....
DLL 내 함수에서 클래스를 선언하고 다시 이용한 기억이 있네요.....
그리고 만일 클래스에 대한 참조가 필요하다면 객체에 대한 주소를 함수 인자로
주고 받으면 가능하다고 봅니다.
이런형식으로 써서... C 에서 함수를 호출한 기억이 있네요 ^^
도움 되시기를....
가자 해외로 ~ .. 돈 벌러.
댓글 달기