Óà C ʵÏÖ WebService
http://www.vckbase.com/document/viewdoc/?id=1711
×÷ÕߣºÇóÊdzà×Ó
Ò»¡¢ÏµÍ³»·¾³
Linux ²Ù×÷ϵͳ kernel2.4.2£¬°²×° gsoap2.6 µ½Ä¿Â¼/usr/local/gsoap
¶þ¡¢gSOAP µÄ¼òҪʹÓÃÀý×Ó
¡¡¡¡ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£¬ÊµÏÖÒ»¸ö¼Ó·¨ÔËËãµÄ WebService£¬¾ßÌ幦ÄÜÊÇ¿Í»§¶Ë£¨client£©ÊäÈë num1 ºÍ num2£¬·þÎñÆ÷¶Ë£¨server£©·µ»Ø num1 ºÍ num2 Ïà¼ÓµÄ½á¹û sum¡£
1¡¢Ê×ÏÈ£¬ÎÒÃÇÐèÒª×öµÄÊÇдһ¸öº¯ÊýÉùÃ÷Îļþ£¬À´¶¨Òå½Ó¿Úº¯Êý ns__add£¬ÎļþÃû×ÖΪ 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¡¢È»ºóÎÒÃÇÐèÒª´´½¨Îļþ Makefile£¬´Ó¶øÀûÓà gsoapcpp2 ¹¤¾ßÓÉ add.h Éú³ÉһЩ .xml Îļþ¡¢.c ÎļþºÍ .h Îļþ£¬ÕâЩÎļþ¾ùΪ×Ô¶¯Éú³É£¬MakefileµÄÄÚÈÝÈçÏ£º
GSOAP_ROOT=/usr/local/gsoap
WSNAME=add
CC=g++ -g -DWITH_NONAMESPACES
INCLUDE=-I $(GSOAP_ROOT)
SERVER_OBJS=$(WSNAME)C.o $(WSNAME)Server.o stdsoap2.o
CLIENT_OBJS=$(GSOAP_ROOT)/env/envC.o $(WSNAME)ClientLib.o stdsoap2.o
ALL_OBJS=${WSNAME}server.o $(WSNAME)C.o $(WSNAME)Server.o ${WSNAME}test.o \
${WSNAME}client.o $(WSNAME)ClientLib.o
#×ܵÄÄ¿±ê
all:server
${WSNAME}.wsdl:${WSNAME}.h
$(GSOAP_ROOT)/soapcpp2 -p$(WSNAME) -i -n -c ${WSNAME}.h
stdsoap2.o:$(GSOAP_ROOT)/stdsoap2.c
$(CC) -c $?
#±àÒëÒ»ÑùÉú³É¹æÔòµÄ.oÎļþ
$(ALL_OBJS):%.o:%.c
$(CC) -c $? $(INCLUDE)
#±àÒë·þÎñÆ÷¶Ë
server:Makefile ${WSNAME}.wsdl ${WSNAME}server.o $(SERVER_OBJS)
$(CC) ${WSNAME}server.o $(SERVER_OBJS) -o ${WSNAME}server
#±àÒë¿Í»§¶Ë
client:Makefile ${WSNAME}.wsdl ${WSNAME}client.c ${WSNAME}test.c $(ALL_OBJS) stdsoap2.o
$(CC) ${WSNAME}test.o ${WSNAME}client.o $(CLIENT_OBJS) -o ${WSNAME}test
cl:
rm -f *.o *.xml *.a *.wsdl *.nsmap $(WSNAME)H.h $(WSNAME)C.c $(WSNAME)Server.c $(WSNAME)Client.c \
$(WSNAME)Stub.* $(WSNAME)$(WSNAME)Proxy.* $(WSNAME)$(WSNAME)Object.* $(WSNAME)ServerLib.c \
$(WSNAME)ClientLib.c $(WSNAME)server ns.xs
Ïà¹ØÎĵµ£º
¶ÔÓÚÔÓïÀàÐ͵ÄÊý×飬Èçint[] a,ÔÚCÀïÃæÖ»ÒªÕâÑù¶¨ÒåÖ®ºó¾Í¿ÉÒÔÓÃa[i]ʹÓÃÁË£¬µ«ÊÇÔÚJAVAÀïÃæÊDz»Ðеģ¬±ØÐëÓÃint[] a = new int[LENGTH];À´ÎªÊý×é·ÖÅä¿Õ¼ä¡£ÕâÀïµÄa¸üÓ¦¸Ã¿´³ÉCÀïÃæµÄÖ¸Õ룬ËüºÍCÀïÃæµÄint* aÊÇÒ»ÑùµÄ£¬ÒòΪÕâ¸öa£¨CÀïÃæµÄ£©Ò²ÒªÏÈmallocÒ»¸ö¿Õ¼äÖ®ºó²Å¿ ......
9Ô¶¼¿ì½áÊøÁË£¬Ö®Ç°Ò»Ö±Ã¦µ½Ð´×Ô¼ºµÄ¶«Î÷¼ÓÉÏÉÏ°à¡£»ù±¾Ã»ÓÐʱ¼äÑо¿Ï»ã±àºÍC C++·½ÃæµÄ¸ÐÐËȤµÄ¶«Î÷¡£ÔÙÔõô˵Â9Ô»¹ÊǵÃдһƪÈö£¬ÒÔºóÿÔÂÖÁÉÙһƪ°É¡£¸ø×Ô¼º¶¨ÁË£¬Ï£Íû´ó¼Ò¼à¶½¡£ºÙºÙ£¡
ÕâƪÎÄÕ¾ÍÀ´Ì¸Ì¸Æ½³£ºÜ³£¼ûµÄHOOK¼¼Êõ£¬ÕâÀïÄØ¡£Ð´µÃ±È½Ï¼òµ¥£¬·½·¨ºÜ¶à¡£Ö»½²ÔÀí£¡Ï£Íû´óÄñÃDZðÍÂÎÒ¿ÚË®¹þ - -¡£ºÃ£¡ÇÐÈëÕ ......
ת×Ô£ºhttp://dev.csdn.net/article/29/29329.shtm
¹ØÓÚÂß¼ÒÆλ¡¢ËãÊõÒÆλ¿É²Î¼û ѸÀ×Éî´ó±ÊÊÔÌⲿ·Ö¡£µÄÒ»µÀÌâ¡£
ÒÔÇ°¿´µ½C++±ê×¼ÉÏ˵£¬ÒÆλÔËËã·û£¨<<¡¢>>£©³ö½çʱµÄÐÐΪ²¢²»È·¶¨£º
The behavior is undefined if the right operand is negative, or greater than or equal to the length in bit ......
VS2005Öмì²âºÍ¸üÕý C/C++ ´úÂëȱÏÝ
2006-11-26 15:55
VS2005ÖÐÌṩµÄ¼ì²â·½·¨:
1 IDE£¨¼¯³É¿ª·¢»·¾³£©¼¯³É
2 #pragma Ö§³Ö
3 Åú×¢Ö§³Ö
4 ×÷ΪǩÈë²ßÂÔµÄÒ»²¿·ÖÔËÐзÖÎö¹¤¾ß
5 Team System Óë Team Build µÄ¼¯³É
6 ÃüÁîÐÐÖ§³Ö
Ò» ´úÂë·ÖÎö¹¤¾ßÓÃÓÚ¼ì²â³£¼ûµÄ±àÂë´íÎó£¬ÀýÈ绺³åÇøÒç³ö¡¢ÄÚ´æδ³õʼ»¯¡¢¿ÕÖ¸Õë ......