--Õª×Ô ¡¶Oracle Pro*C ³ÌÐò¿ª·¢¡· --Create/Modify Email£ºxingchengli@gmail.com
SQLDA µÄ½á¹¹ÈçÏ£º
struct SQLDA
{
long N; /* Descriptor size in number of entries */
char **V; Ptr to Arr of addresses of main variables */
long *L; /* Ptr to Arr of lengths of buffers */
short *T; /* Ptr to Arr of types of buffers */
short **I; * Ptr to Arr of addresses of indicator vars */
long F; /* Number of variables found by DESCRIBE */
char **S; /* Ptr to Arr of variable name pointers */
short *M; /* Ptr to Arr of max lengths of var. names */
short *C; * Ptr to Arr of current lengths of var. names */
char **X; /* Ptr to Arr of ind. var. name pointers */
short *Y; /* Ptr to Arr of max lengths of ind. var. names */
short *Z; /* Ptr to Arr of cur lengths of ind. var. names */
};
SQLDA½á¹¹³ÉÔ±×÷ÓÃÃèÊö£º
Ãû³Æ ÃèÊö
N SELECT-LISTÁлòռλ·ûµÄ×î´óÊýÁ¿£¬Ö´ÐÐDESCRIBEǰ±ØÐëÖ´ÐÐ
SQLSQLDAAlloc()º¯Êý¸øN½øÐи³Öµ£¬É趨ÃèÊöÊý×éµÄάÊý£¬Æä¾ö ......
¾¹ýÑéÖ¤¿ÉÒÔʵÏÖ£¬ÏȽ«ÊµÏÖ´úÂëÌù³ö£¬ÒÔ±¸ÒÔºóʹÓá£
±¾ÎÄĬÈÏÄãµÄjava¿ª·¢»·¾³ÒѾ°²×°³É¹¦£¬²¢ÇÒ¶ÔÓÚjavaÓïÑÔºÍc++ÓïÑÔÓйýÁ˽⡣
±àд²âÊÔÓÃÀࣺDemo.java
´úÂëÈçÏ£º
public class Demo
{
public static int COUNT = 8;
private String msg;
private int[] counts;
public Demo ()
{
this ("default constructor");
}
public Demo (String msg)
{
this.msg = msg;
this.counts = null;
}
public String getMessage ()
{
return msg;
}
public static String getHelloWorld ()
{
return "hello world!";
}
public String append (String str, int i)
{
return str + i;
}
public int[] getCounts ()
{
return counts;
}
public void setCounts (int[] counts)
{
this.counts = counts;
}
public void throwExcp () throws IllegalAccessExce ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ£¬ÎªÁËÖ§³Öº¯ÊýµÄÖØÔØ£¬C++¶ÔÈ«¾Öº¯ÊýµÄ´¦Àí·½Ê½ÓëCÓÐÃ÷ÏԵIJ»Í¬¡£
¡¡¡¡2.´Ó±ê׼ͷÎļþ˵Æð
¡¡¡¡Ä³ÆóÒµÔø¾¸ø³öÈçϵÄÒ»µÀÃæÊÔÌ⣺
¡¡¡¡ÃæÊÔÌâ
¡¡¡¡ÎªÊ²Ã´±ê׼ͷÎļþ¶¼ÓÐÀàËÆÒÔϵĽṹ£¿
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
¡¡¡¡·ÖÎö
¡¡¡¡ÏÔÈ»£¬Í·ÎļþÖеıàÒëºê“#ifndef __INCvxWorksh¡¢#define __INCvxWorksh¡¢#endif” µÄ×÷ÓÃÊÇ·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£
¡¡¡¡ÄÇô
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
¡¡¡¡µÄ×÷ÓÃÓÖÊÇÊ²Ã´ÄØ£¿ÎÒÃǽ«ÔÚÏÂÎÄÒ»Ò»µÀÀ´¡£
¡¡¡¡3.Éî²ã½ÒÃÜextern "C"
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Òå£ ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ£¬ÎªÁËÖ§³Öº¯ÊýµÄÖØÔØ£¬C++¶ÔÈ«¾Öº¯ÊýµÄ´¦Àí·½Ê½ÓëCÓÐÃ÷ÏԵIJ»Í¬¡£
¡¡¡¡2.´Ó±ê׼ͷÎļþ˵Æð
¡¡¡¡Ä³ÆóÒµÔø¾¸ø³öÈçϵÄÒ»µÀÃæÊÔÌ⣺
¡¡¡¡ÃæÊÔÌâ
¡¡¡¡ÎªÊ²Ã´±ê׼ͷÎļþ¶¼ÓÐÀàËÆÒÔϵĽṹ£¿
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
¡¡¡¡·ÖÎö
¡¡¡¡ÏÔÈ»£¬Í·ÎļþÖеıàÒëºê“#ifndef __INCvxWorksh¡¢#define __INCvxWorksh¡¢#endif” µÄ×÷ÓÃÊÇ·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£
¡¡¡¡ÄÇô
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
¡¡¡¡µÄ×÷ÓÃÓÖÊÇÊ²Ã´ÄØ£¿ÎÒÃǽ«ÔÚÏÂÎÄÒ»Ò»µÀÀ´¡£
¡¡¡¡3.Éî²ã½ÒÃÜextern "C"
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Òå£ ......
תÌù×Ô£ºhttp://blog.sina.com.cn/s/blog_629562fe0100gs2l.html
ÉÔ×÷ÐÞ¸Ä
gSOAPÊÇÒ»¸ö¿äƽ̨µÄ£¬ÓÃÓÚ¿ª·¢Web Service·þÎñ¶ËºÍ¿Í»§¶ËµÄ¹¤¾ß£¬ÔÚWindows¡¢Linux¡¢MAC OSºÍUNIXÏÂʹÓÃCºÍC++ÓïÑÔ±àÂ룬¼¯³ÉÁËSSL¹¦ÄÜ¡£
ÏÂÔØµØÖ·£ºhttp://sourceforge.net/projects/gsoap2
¹Ù·½ÍøÕ¾£ºhttp://genivia.com/Products/gsoap/index.html
Ò»¡¢·þÎñÆ÷¶Ë
1¡¢Ê×Ïȱàд add.hÎļþ£º£¨ÎÒÊÔ¹ý°ÑÕâЩעÊÍÈ«²¿É¾³ýҲûÓÐÎÊÌ⣩
//gsoap ns service name: add
//gsoap ns service namespace: http://mail.263.net/add.wsdl
//gsoap ns service location: http://mail.263.net
//gsoap ns service executable: add.cgi
//gsoap ns service encoding: encoded
//gsoap ns schema namespace: urn:add
int ns__add( int num1, int num2, int* sum );
2¡¢ÓÃgsoap/binĿ¼ÏµÄsoapcpp2.exe³ÌÐò£¬Éú³ÉһЩÎļþ¡£
·½·¨£ºÓÃcmdÖ´ÐÐsoapcpp2.exe add.h¡£
soapcpp2.exe¿ÉÒÔ´ø²ÎÊýÖ´ÐУ¬¾ßÌåÖ´ÐÐsoapcpp2.exe -h²é¿´¡£(ʾÀý£ºhttp://www.cppprog.com/2009/0723/138_2.html)
ÔÚÕâ¸öĿ¼Ï»á×Ô¶¯Éú³ÉÐí¶à½«À´ÓÐÓõÄÎļþ£¬Èçadd.namap,soapH.h,soapC.cpp,soapClient.cpp,soapServer. ......
1£ºÃ¿Ò»¸ö±äÁ¿ÔÚʹÓÃǰ¶¼µÃÉùÃ÷£¬²»È»ÔÚʹÓõÄʱºò¾ÍÓпÉÄÜÊÇËæ»úµÄÊý×Ö
2£º×¢ÒâÍ·ÎļþÖк¯ÊýÉùÃ÷µÄʱºòÒªÔÚºóÃæ¼ÓÉÏ·ÖºÅ
3£º×¢Òâ´®¿Ú¿ÉÒÔ´òÓ¡±äÁ¿£¬¾ÍÏñCÖеÄprintfÒ»Ñù
4£ºDNWÖв»ÄÜ´òÓ¡floatÐÍÊý¾Ý
5£º×¢Òâ½á¹¹ÌåÖ¸ÕëÊý×é µÄʹÓú͵÷ÓÃ
6£º ......
Ç°ÃæµÄÎÄÕ¡¶´î½¨»ùÓÚ NetBeans µÄ OpenGL ¿ª·¢»·¾³¡·Ìáµ½ÁË NetBeans ºÍ MinGW µÄÅäÖ㬵±Ê±¼ÇµÃºÃÏñÒÔǰд¹ý²½Ö裬¾ÍËæÊÖÂÔ¹ýÁË¡£½ñÌìÊÕµ½ÍøÓѵÄÌáÐѲŷ¢ÏÖÊÇÎҼǴíÁË£¬ÔÚÕâÀï²¹ÉÏ£¬Í¬Ê±Ð»Ð»Ä㣡
¡¡¡¡²½ÖèÈçÏ£º
ÏÂÔØ×Ô¶¯ MinGW °²×°³ÌÐò£¬Õâ¶Ô³õѧÕßÀ´ËµÊDZȽϷ½±ãµÄ·½Ê½£¬È±µã¾ÍÊÇÏÂÔØËÙ¶ÈÂýµÃ²»ÈçÎÏÅ£¡£
ÔËÐÐÏÂÔØµÄ MinGW-x.y.z.exe£¬Ò»Ö±µã“Next”£¬½Ó×ÅÑ¡Ôñ“Current”£¬Ö±µ½³öÏÖ×é¼þÑ¡Ôñ¡£
ÖÁÉÙҪѡÔñ“MinGW base tools”ºÍ“g++ compiler”¡£ÆäËû×é¼þ»¹²»ÊÜ NetBeans Ö§³Ö¡£
È»ºó¾ÍÊÇÏÂÔØ¡¢°²×°£¬ÔËÆø²»ºÃµÄ»°ÓõÄʱ¼ä¶¼¿ÉÒÔ¿´Ò»²¿µçÓ°ÁË¡£
ÏÂÔØ GNU Ô´¼¶±ðµ÷ÊÔÆ÷£¨Ò²¾ÍÊÇ GDB£©£¬°²×°µ½ MinGW Ŀ¼Ï¡£
ÏÂÔØ²¢°²×° MSYS£º×îСϵͳ£¬°²×°ºóÓÐЩ¼òµ¥µÄÅäÖÃÏòµ¼¡£
°²×° NetBeans 5.5.1 ºÍ NetBeans 5.5.1 C/C++ ¿ª·¢°ü¡£
¡¡¡¡ÏÖÔÚÒѾÄÜÕý³£±àÒëºÍÔËÐбê×¼µÄ C/C++ ³ÌÐòÁË¡£Ö»Òª¶Ô Makefile¡¢GCC ÕâЩ¹¤¾ßÓÐËùÁ˽⣬NetBeans ×ãÒÔÓ¦¸¶´ó¶àÊý¿ª·¢£¬ËäÈ»ÓÐʱ»¹ÊDz»Ì«·½±ã¡£Ä¿Ç° NetBeans 6.0 Beta ³öÀ´ÁË£¬²»ÖªµÀ C/C++ ¿ª·¢×é¼þÓÐʲô¸Ä½ø¡£
Configuring Development Environment of NetBeans + ......
Ç°ÃæµÄÎÄÕ¡¶´î½¨»ùÓÚ NetBeans µÄ OpenGL ¿ª·¢»·¾³¡·Ìáµ½ÁË NetBeans ºÍ MinGW µÄÅäÖ㬵±Ê±¼ÇµÃºÃÏñÒÔǰд¹ý²½Ö裬¾ÍËæÊÖÂÔ¹ýÁË¡£½ñÌìÊÕµ½ÍøÓѵÄÌáÐѲŷ¢ÏÖÊÇÎҼǴíÁË£¬ÔÚÕâÀï²¹ÉÏ£¬Í¬Ê±Ð»Ð»Ä㣡
¡¡¡¡²½ÖèÈçÏ£º
ÏÂÔØ×Ô¶¯ MinGW °²×°³ÌÐò£¬Õâ¶Ô³õѧÕßÀ´ËµÊDZȽϷ½±ãµÄ·½Ê½£¬È±µã¾ÍÊÇÏÂÔØËÙ¶ÈÂýµÃ²»ÈçÎÏÅ£¡£
ÔËÐÐÏÂÔØµÄ MinGW-x.y.z.exe£¬Ò»Ö±µã“Next”£¬½Ó×ÅÑ¡Ôñ“Current”£¬Ö±µ½³öÏÖ×é¼þÑ¡Ôñ¡£
ÖÁÉÙҪѡÔñ“MinGW base tools”ºÍ“g++ compiler”¡£ÆäËû×é¼þ»¹²»ÊÜ NetBeans Ö§³Ö¡£
È»ºó¾ÍÊÇÏÂÔØ¡¢°²×°£¬ÔËÆø²»ºÃµÄ»°ÓõÄʱ¼ä¶¼¿ÉÒÔ¿´Ò»²¿µçÓ°ÁË¡£
ÏÂÔØ GNU Ô´¼¶±ðµ÷ÊÔÆ÷£¨Ò²¾ÍÊÇ GDB£©£¬°²×°µ½ MinGW Ŀ¼Ï¡£
ÏÂÔØ²¢°²×° MSYS£º×îСϵͳ£¬°²×°ºóÓÐЩ¼òµ¥µÄÅäÖÃÏòµ¼¡£
°²×° NetBeans 5.5.1 ºÍ NetBeans 5.5.1 C/C++ ¿ª·¢°ü¡£
¡¡¡¡ÏÖÔÚÒѾÄÜÕý³£±àÒëºÍÔËÐбê×¼µÄ C/C++ ³ÌÐòÁË¡£Ö»Òª¶Ô Makefile¡¢GCC ÕâЩ¹¤¾ßÓÐËùÁ˽⣬NetBeans ×ãÒÔÓ¦¸¶´ó¶àÊý¿ª·¢£¬ËäÈ»ÓÐʱ»¹ÊDz»Ì«·½±ã¡£Ä¿Ç° NetBeans 6.0 Beta ³öÀ´ÁË£¬²»ÖªµÀ C/C++ ¿ª·¢×é¼þÓÐʲô¸Ä½ø¡£
Configuring Development Environment of NetBeans + ......