📄 ocilib_8h-source.html
字号:
<a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00312"></a>00312 <span class="preprocessor"></span><a name="l00313"></a>00313 <span class="preprocessor">#ifdef OCI_IMPORT_RUNTIME</span><a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_IMPORT_MODE OCI_IMPORT_MODE_RUNTIME</span><a name="l00315"></a>00315 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00316"></a>00316 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_IMPORT_MODE OCI_IMPORT_MODE_LINKAGE</span><a name="l00317"></a>00317 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00318"></a>00318 <span class="preprocessor"></span><a name="l00319"></a>00319 <span class="comment">/* Charset mode */</span><a name="l00320"></a>00320 <a name="l00321"></a>00321 <span class="preprocessor">#ifdef OCI_CHARSET_UNICODE</span><a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_ANSI</span><a name="l00323"></a>00323 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_MIXED</span><a name="l00324"></a>00324 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00325"></a>00325 <span class="preprocessor"></span><a name="l00326"></a>00326 <span class="preprocessor">#ifdef OCI_CHARSET_MIXED</span><a name="l00327"></a>00327 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_ANSI</span><a name="l00328"></a>00328 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_UNICODE</span><a name="l00329"></a>00329 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00330"></a>00330 <span class="preprocessor"></span><a name="l00331"></a>00331 <span class="preprocessor">#ifdef OCI_CHARSET_ANSI</span><a name="l00332"></a>00332 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_MIXED</span><a name="l00333"></a>00333 <span class="preprocessor"></span><span class="preprocessor">#undef OCI_CHARSET_UNICODE</span><a name="l00334"></a>00334 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00335"></a>00335 <span class="preprocessor"></span><a name="l00336"></a>00336 <span class="preprocessor">#if !defined(OCI_CHARSET_ANSI) && !defined(OCI_CHARSET_MIXED) && !defined(OCI_CHARSET_UNICODE)</span><a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define OCI_CHARSET_ANSI</span><a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00339"></a>00339 <span class="preprocessor"></span><a name="l00340"></a>00340 <span class="comment">/* Calling convention */</span><a name="l00341"></a>00341 <a name="l00342"></a>00342 <span class="preprocessor">#ifndef OCI_API</span><a name="l00343"></a>00343 <span class="preprocessor"></span><span class="preprocessor">#define OCI_API</span><a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00345"></a>00345 <span class="preprocessor"></span><a name="l00346"></a>00346 <span class="comment">/* Build mode */</span><a name="l00347"></a>00347 <a name="l00348"></a>00348 <span class="preprocessor">#ifndef OCI_EXPORT</span><a name="l00349"></a>00349 <span class="preprocessor"></span><span class="preprocessor">#define OCI_EXPORT</span><a name="l00350"></a>00350 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00351"></a>00351 <span class="preprocessor"></span><a name="l00466"></a>00466 <span class="comment">/* Unicode mode */</span><a name="l00467"></a>00467 <a name="l00468"></a>00468 <span class="preprocessor">#ifdef OCI_CHARSET_UNICODE</span><a name="l00469"></a>00469 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_METADATA_UNICODE</span><a name="l00470"></a>00470 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_USERDATA_UNICODE</span><a name="l00471"></a>00471 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_INCLUDE_WCHAR</span><a name="l00472"></a>00472 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00473"></a>00473 <span class="preprocessor"></span><a name="l00474"></a>00474 <span class="preprocessor">#ifdef OCI_CHARSET_MIXED</span><a name="l00475"></a>00475 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_USERDATA_UNICODE</span><a name="l00476"></a>00476 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_INCLUDE_WCHAR</span><a name="l00477"></a>00477 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00478"></a>00478 <span class="preprocessor"></span><a name="l00479"></a>00479 <span class="comment">/* include wchar header if needed */</span><a name="l00480"></a>00480 <a name="l00481"></a>00481 <span class="preprocessor">#ifdef OCI_INCLUDE_WCHAR</span><a name="l00482"></a>00482 <span class="preprocessor"></span><span class="preprocessor"> #include <wctype.h></span><a name="l00483"></a>00483 <a name="l00484"></a>00484 <span class="preprocessor"> #ifdef _MSC_VER</span><a name="l00485"></a>00485 <span class="preprocessor"></span><a name="l00486"></a>00486 <span class="preprocessor"> #if (_MSC_VER < 1300) && defined(__cplusplus)</span><a name="l00487"></a>00487 <span class="preprocessor"></span> <span class="keyword">extern</span> <span class="stringliteral">"C++"</span> {<a name="l00488"></a>00488 <span class="preprocessor"> #endif</span><a name="l00489"></a>00489 <span class="preprocessor"></span><a name="l00490"></a>00490 <span class="preprocessor"> #include <wchar.h></span><a name="l00491"></a>00491 <span class="preprocessor"> #if (_MSC_VER < 1300) && defined(__cplusplus)</span><a name="l00492"></a>00492 <span class="preprocessor"></span> }<a name="l00493"></a>00493 <span class="preprocessor"> #endif</span><a name="l00494"></a>00494 <span class="preprocessor"></span><a name="l00495"></a>00495 <span class="preprocessor"> #else</span><a name="l00496"></a>00496 <span class="preprocessor"></span><a name="l00497"></a>00497 <span class="preprocessor"> #include <wchar.h></span><a name="l00498"></a>00498 <a name="l00499"></a>00499 <span class="preprocessor">#endif</span><a name="l00500"></a>00500 <span class="preprocessor"></span><a name="l00501"></a>00501 <span class="preprocessor">#endif</span><a name="l00502"></a>00502 <span class="preprocessor"></span><a name="l00503"></a>00503 <span class="comment">/* Charset macros */</span><a name="l00504"></a>00504 <a name="l00505"></a>00505 <span class="preprocessor">#define OCI_CHAR_ANSI 1</span><a name="l00506"></a>00506 <span class="preprocessor"></span><span class="preprocessor">#define OCI_CHAR_UNICODE 2</span><a name="l00507"></a>00507 <span class="preprocessor"></span><a name="l00508"></a>00508 <span class="preprocessor">#ifdef OCI_METADATA_UNICODE</span><a name="l00509"></a>00509 <span class="preprocessor"></span><span class="preprocessor"> #define MT(x) L ## x</span><a name="l00510"></a>00510 <span class="preprocessor"></span><span class="preprocessor"> #define mtext wchar_t</span><a name="l00511"></a>00511 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_CHAR_MTEXT OCI_CHAR_UNICODE</span><a name="l00512"></a>00512 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00513"></a>00513 <span class="preprocessor"></span><span class="preprocessor"> #define MT(x) x</span><a name="l00514"></a>00514 <span class="preprocessor"></span><span class="preprocessor"> #define mtext char</span><a name="l00515"></a>00515 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_CHAR_MTEXT OCI_CHAR_ANSI</span><a name="l00516"></a>00516 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00517"></a>00517 <span class="preprocessor"></span><a name="l00518"></a>00518 <span class="preprocessor">#ifdef OCI_USERDATA_UNICODE</span><a name="l00519"></a>00519 <span class="preprocessor"></span><span class="preprocessor"> #define DT(x) L ## x</span><a name="l00520"></a>00520 <span class="preprocessor"></span><span class="preprocessor"> #define dtext wchar_t</span><a name="l00521"></a>00521 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_CHAR_DTEXT OCI_CHAR_UNICODE</span><a name="l00522"></a>00522 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00523"></a>00523 <span class="preprocessor"></span><span class="preprocessor"> #define DT(x) x</span><a name="l00524"></a>00524 <span class="preprocessor"></span><span class="preprocessor"> #define dtext char</span><a name="l00525"></a>00525 <span class="preprocessor"></span><span class="preprocessor"> #define OCI_CHAR_DTEXT OCI_CHAR_ANSI</span><a name="l00526"></a>00526 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00527"></a>00527 <span class="preprocessor"></span><a name="l00528"></a>00528 <span class="comment">/*</span><a name="l00529"></a>00529 <span class="comment"> For ISO conformance, strdup/wcsdup/stricmp/strncasecmp are not used.</span><a name="l00530"></a>00530 <span class="comment"> All wide char routines are "officially" C99.</span><a name="l00531"></a>00531 <span class="comment"> but we weed an ansi equivalent to swprintf => ocisprintf</span><a name="l00532"></a>00532 <span class="comment"> OCILIB exports the following helper functions</span><a name="l00533"></a>00533 <span class="comment"></span><a name="l00534"></a>00534 <span class="comment">*/</span><a name="l00535"></a>00535 <a name="l00536"></a>00536 OCI_EXPORT <span class="keywordtype">int</span> ocisprintf(<span class="keywordtype">char</span> *str, <span class="keywordtype">int</span> size, <span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...);<a name="l00537"></a>00537 OCI_EXPORT <span class="keywordtype">char</span> * ocistrdup(<span class="keyword">const</span> <span class="keywordtype">char</span> * src);<a name="l00538"></a>00538 OCI_EXPORT <span class="keywordtype">int</span> ocistrcasecmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *str1, <span class="keyword">const</span> <span class="keywordtype">char</span> *str2);<a name="l00539"></a>00539 <a name="l00540"></a>00540 <span class="preprocessor">#ifdef OCI_INCLUDE_WCHAR</span><a name="l00541"></a>00541 <span class="preprocessor"></span>OCI_EXPORT <span class="keywordtype">wchar_t</span> * ociwcsdup(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span> * src);<a name="l00542"></a>00542 OCI_EXPORT <span class="keywordtype">int</span> ociwcscasecmp(<span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *str1, <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> *str2);<a name="l00543"></a>00543 <span class="preprocessor">#endif</span><a name="l00544"></a>00544 <span class="preprocessor"></span><a name="l00545"></a>00545 <span class="comment">/* special defines for Microsoft C runtime that is not C ISO compliant */</span><a name="l00546"></a>00546 <a name="l00547"></a>00547 <span class="preprocessor">#ifdef _WINDOWS</span><a name="l00548"></a>00548 <span class="preprocessor"></span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -