һλIDΪultimusµÄ³ÌÐòÔ±¿ª·¢ÁËÒ»ÖÖÃûΪanicµÄÐÂÓïÑÔ£¬½üÈÕÒýÆðÒµ½ç¹Ø×¢¡£¸ù¾ÝGoogle CodeÉϸÃÏîÄ¿µÄ¼ò½é£¬¸ÃÓïÑÔµÄÕýʽÃû³ÆÊÇANI£¬anicÊÇÕâÖÖÓïÑԵIJο¼ÊµÏÖ¡£
ANIÊÇÒ»ÖÖʵÑéÐÔ¡¢¸ßÐÔÄÜ¡¢¾²Ì¬°²È«¡¢ÍêÈ«Òþº¬Ö§³Ö²¢ÐС¢ÃæÏò¶ÔÏóµÄͨÓÃÊý¾ÝÁ÷±à³ÌÓïÑÔ¡£
anicÓÃGNU¹¤¾ßÁ´Ð´³É£¬Òò´Ë¿ÉÒÆÖ²ÐԺܺ㬿ÉÒÔÔËÐÐÓÚËùÓÐÖ÷Á÷²Ù×÷ϵͳ£¬°üÀ¨*NIX£¬Mac OS XºÍWindows£¨½èÖúCygwin£©¡£
ÓÃanic±àдµÄHello World³ÌÐòÊÇÕâÑùµÄ£º
"Hello, World!" -std.out
¶øÓÃCÓïÑÔ±àд²¢²»ÇáËɵĶàÏ̡߳¢ÊµÊ±µÄʱÖÓ+¼ÆËãÆ÷»ìºÏ³ÌÐò£¬ÓÃanicдÆðÀ´½«Èç´Ë¼ò½à£º
@std.in;a=[[0\]]; op=[[' '\]]; b=[[0\]]; r=[[0\]];0 { clock = [[int ms]] { ("\r" + ms/1000.0 + ":" + a + op + b + "=" + r) -std.out; 1 std.delay (ms+1) clock} };inLoop = {\in-a \in-op \in-b inLoop};\\op ?? {'+': (\a+\b) '-': (\a-\b) '*': (\a*\b) '/': (\a/\b) : 0} -r;
¸ÃÏîÄ¿µÄÂÛ̳ÉÏĿǰÒѾ·Ç³£ÈÈÁÒ£¬ÆäÖв»·¦Google¹«Ë¾µÄ³ÌÐòÔ±²ÎÓëÆäÖС£
ºÜ¿á£¬²»ÊÇÂ𣿸Ͽ쿪ʼ³¢ÊÔ°É£º http://code.google.com/p/anic/
×·¸Ï¼¼ÊõÊǺÜÀ§Äѵ쬵«ÊÇץסÄÚ²ãʵÖÊ£¬È·ÊÇ¿ÉÄܵġ£
......
һλIDΪultimusµÄ³ÌÐòÔ±¿ª·¢ÁËÒ»ÖÖÃûΪanicµÄÐÂÓïÑÔ£¬½üÈÕÒýÆðÒµ½ç¹Ø×¢¡£¸ù¾ÝGoogle CodeÉϸÃÏîÄ¿µÄ¼ò½é£¬¸ÃÓïÑÔµÄÕýʽÃû³ÆÊÇANI£¬anicÊÇÕâÖÖÓïÑԵIJο¼ÊµÏÖ¡£
ANIÊÇÒ»ÖÖʵÑéÐÔ¡¢¸ßÐÔÄÜ¡¢¾²Ì¬°²È«¡¢ÍêÈ«Òþº¬Ö§³Ö²¢ÐС¢ÃæÏò¶ÔÏóµÄͨÓÃÊý¾ÝÁ÷±à³ÌÓïÑÔ¡£
anicÓÃGNU¹¤¾ßÁ´Ð´³É£¬Òò´Ë¿ÉÒÆÖ²ÐԺܺ㬿ÉÒÔÔËÐÐÓÚËùÓÐÖ÷Á÷²Ù×÷ϵͳ£¬°üÀ¨*NIX£¬Mac OS XºÍWindows£¨½èÖúCygwin£©¡£
ÓÃanic±àдµÄHello World³ÌÐòÊÇÕâÑùµÄ£º
"Hello, World!" -std.out
¶øÓÃCÓïÑÔ±àд²¢²»ÇáËɵĶàÏ̡߳¢ÊµÊ±µÄʱÖÓ+¼ÆËãÆ÷»ìºÏ³ÌÐò£¬ÓÃanicдÆðÀ´½«Èç´Ë¼ò½à£º
@std.in;a=[[0\]]; op=[[' '\]]; b=[[0\]]; r=[[0\]];0 { clock = [[int ms]] { ("\r" + ms/1000.0 + ":" + a + op + b + "=" + r) -std.out; 1 std.delay (ms+1) clock} };inLoop = {\in-a \in-op \in-b inLoop};\\op ?? {'+': (\a+\b) '-': (\a-\b) '*': (\a*\b) '/': (\a/\b) : 0} -r;
¸ÃÏîÄ¿µÄÂÛ̳ÉÏĿǰÒѾ·Ç³£ÈÈÁÒ£¬ÆäÖв»·¦Google¹«Ë¾µÄ³ÌÐòÔ±²ÎÓëÆäÖС£
ºÜ¿á£¬²»ÊÇÂ𣿸Ͽ쿪ʼ³¢ÊÔ°É£º http://code.google.com/p/anic/
×·¸Ï¼¼ÊõÊǺÜÀ§Äѵ쬵«ÊÇץסÄÚ²ãʵÖÊ£¬È·ÊÇ¿ÉÄܵġ£
......
¸Õ¸ÕÍê³ÉµÄC¶ÁÈ¡ÎļþÒ»ÐÐÊý¾Ý£¬¿ÉÒÔ¶Á´óÁ¿Êý¾ÝµÄÐС£
/*
º¯Êý¹¦ÄÜ£º
¶ÁÈ¡ÎļþµÄÒ»ÐУ¬µ±¿ª±ÙÄÚ´æ²»¹»Ê±returnֵΪ-1,size»á¸ø³öÖÁÉÙÐèÒªµÄÄÚ´æ´óС£¬
returnֵΪ1ʱ±íʾ´ËʱÎļþ½áÊø£¬´Óbuffer,sizeµÃµ½×îºóÒ»ÐеÄÊý¾ÝºÍ´óС¡£
ÊäÈë²ÎÊý£º
stream£ºÎļþÁ÷
size£ºbuffer´óС,¿ª±ÙÄÚ´æ´óС
Êä³ö²ÎÊý£º
buffer£º´æ·ÅÒ»ÐÐ×Ö·û
size£ºbuffer´óС£¬×Ö·ûÊýÄ¿
·µ»ØÖµ£º
-1£º¶ÁÈ¡·¢Éú´íÎó
0£º³É¹¦¶ÁÈ¡
1: Îļþ½áÊø
±¸×¢£º
2010.01.11
*/
int rtFGetLine(FILE *stream,char *buffer,int &size)
{
static unsigned long offset = 0;
bool fileend = 0;
unsigned long bufsize = 1024;
char *buf = NULL, *dest = NULL;
unsigned short inc = 1;
if(!stream || !buffer)
{
return -1;
}
whi ......
´ó¼Ò¶¼ºÜÊìϤHTTPÐÒéµÄÓ¦Óã¬ÒòΪÿÌì¶¼ÔÚÍøÂçÉÏä¯ÀÀ×Ų»ÉÙ¶«Î÷£¬Ò²¶¼ÖªµÀÊÇHTTPÐÒéÊÇÏ൱¼òµ¥µÄ¡£Ã¿´ÎÓÃthunderÖ®ÀàµÄÏÂÔØÈí¼þÏÂÔØÍøÒ³£¬µ±Óõ½ÄǸö“ÓÃthunderÏÂÔØÈ«²¿Á´½Ó”ʱ×ܾõµÃºÜÉñÆæ¡£
ºóÀ´ÏëÏ룬ÆäʵҪʵÏÖÕâЩÏÂÔØ¹¦ÄÜÒ²²¢²»ÄÑ£¬Ö»Òª°´ÕÕHTTPÐÒé·¢ËÍrequest£¬È»ºó¶Ô½ÓÊÕµ½µÄÊý¾Ý½øÐзÖÎö£¬Èç¹ûÒ³ÃæÉÏ»¹ÓÐhrefÖ®ÀàµÄÁ´½ÓÖ¸Ïò±êÖ¾¾Í¿ÉÒÔ½øÐÐÉîÒ»²ãµÄÏÂÔØÁË¡£HTTPÐÒéĿǰÓõÄ×î¶àµÄÊÇ1.1°æ±¾£¬ÒªÈ«ÃæÍ¸³¹µØ¸ã¶®Ëü¾Í²Î¿¼RFC2616Îĵµ°É¡£ÎÒÊÇÅÂrfcÎĵµÁ˵Ä,Òª¿´×Ô¼ºÈ¥¿´°É^_^
Ô´´úÂëÈçÏ£º
/******* http¿Í»§¶Ë³ÌÐò httpclient.c ************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <unistd.h>
#include <netinet/in.h>
#include <limits.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <ctype.h>
//////////////////////////////httpclient.c ¿ªÊ¼///////////////////////////////////////////
/***************************************** ......
ÕûÀí×Ô£ºhttp://forums.oracle.com/forums/thread.jspa?threadID=664180&tstart=0
ÎÊ£ºIs it possible to use INNER JOIN's with Pro*C? I'm currently getting this error:
INNER JOIN t_diagnosis b ON a.sak_diag = b.sak_diag
....1
PCC-S-02201, Encountered the symbol "INNER" when expecting one of the following:
; , for, union, connect, group, having, intersect, minus,
order, start, where, with,
The query runs fine via SQL Developer. My version of Pro*C is Pro*C/C++: Release 10.2.0.3.0.
Thanks,
Matthew
´ð£º
Unfortunately the Pro*C precompiler does not understand "new"
syntax/keywords... this falls into the same category as using analytics
discussed here:
http://forums.oracle.com/forums/thread.jspa?threadID=664180&tstart=0
You would need to use dynamic sql as described in the programmer's guide to do this.
Support for all the ANSI 99 sql syntax (including joins) has been added
in 11g
w
ith
the new precompiler option common_parser. You can
pr ......
Ïê½âCÅÌWindowsÎļþ¼ÐÀïÖØÒªÎļþµÄ×÷ÓÃ
ÔÚÕû¸öWindows²Ù×÷ϵͳÖУ¬×îÖØÒªµÄιýÓÚ“Windows”Îļþ¼Ð£¬¶ÔµçÄÔ½øÐÐÈκβÙ×÷¼¸ºõ¶¼Óйء£Á˽âÕâÀï¶ÔÓÚÕÆÎÕÕû¸öϵͳµÄÔË×÷ÓкܴóµÄ×÷Óã¬Èç¹ûÓÐÐËȤ²»·ÁÍùÏ¿´¿´¡£
Ò»¡¢Ó¡ÏóÖеÄWindowsÎļþ¼Ð
“Windows”Îļþ¼Ð¸øÈ˵ĵÚÒ»Ó¡Ïó¾ÍÊÇ´ó¶øÂÒ£¬¸Ð¾õÀïÃæµÄ¶«Î÷ºÜ¶àµ«ÓÖ²»ÖªµÀËüÃǾßÌåµÄÓÃ;ÊÇʲô¡£Ã»¹ØÏµ£¬½ñÌì¾ÍÈÃÎÒÃÇÀ´²é²éËüÃǵēÉí·Ý”¡£
¼øÓÚ“Windows”Îļþ¼ÐÖеÄÎļþ¼ÐºÍÎļþ±È½Ï¶à£¨Í¼1£©£¬ËùÒÔÖ»Äܽ«ÆäÖбȽÏÖØÒªµÄһЩÄóöÀ´ºÍ´ó¼ÒÒ»Æð½øÐÐ̽ÌÖ¡£´ËÍâ²»µÃ²»ÌáÐѵÄÊÇÓÉÓÚ´ËÎļþ¼ÐµÄÌØÊâÐÔ£¬²»½¨Òéɾ³ý´ËÎļþ¼ÐϵÄÈκÎÎļþ£¬ÈçÓпÉÒÔ°²È«É¾³ýµÄÎļþ£¬ÎÄÖн«»áÌáµ½¡£
ͼ1
¶þ¡¢ÏÖʵÖеÄWindowsÎļþ¼Ð
ÎÒÃÇÏÈ´ÓÎļþ¼Ð¿ªÊ¼£¬ÕâЩÎļþ¼Ð·Ç³£ÖØÒª£¬ËüÃÇÊÇϵͳÕý³£ÔËתµÄ±ØÒª±£Ö¤¡£
CursorsÎļþ¼Ð
ÕâÊÇÊó±êÖ¸ÕëÎļþ¼Ð£¬ÓÃÀ´´æ·Å³ýϵͳĬÈÏÖ®ÍâµÄÊó±êÖ¸Õ루ͼ2£©¡£Ò»Ð©ÃÀ»¯ÏµÍ³×ÀÃæµÄ³ÌÐòÔÚÃÀ»¯Êó±êʱҲÊǽ«×Ô¼ºµÄÊó±êÖ¸Õë´æ·ÅÔÚÕâ¸öÎļþ¼ÐÖеġ£¿ÉÒÔ½«Îļþ¼ÐÖеÄÊó±êÖ¸Õëɾ³ý£¬¶ÔWindowsϵͳĬÈϵÄÊó±êÖ¸Õë²»»áÓÐÓ°Ïì¡£
ͼ2
DebugÎļþ¼Ð
ÕâÊÇϵͳµ÷ÊÔÎļþ¼Ð£¬ÓÃÀ´´æ·ÅÏµÍ ......
¹ØÓÚCµÄ˼¿¼
Cong Wang
May, 2006
Network Engineering Department
Institute of Post and Telecommunications, Xi'an, P.R.China
ÒýÑÔ
CÓïÑÔ½áºÏÁË»ã±àµÄËùÓÐÍþÁ¦£¬ËüµÄ³éÏó³Ì¶ÈÅöÇɼÈÂú×ãÁ˳ÌÐòÔ±µÄÒªÇó, ÓÖÈÝÒ×ʵÏÖ¡£ÒòÆä¶ÀÌØµÄÁé»îÐÔºÍÇ¿´óµÄ¿ÉÒÆÖ²ÐÔ£¬ÏµÍ³³ÌÐòÔ±ºÍºÚ¿ÍÃǸüÊǶÔËüÖÓ°®Óмӡ£ÎÞÒÉ£¬CÓïÑÔ»ñµÃÁË¿ÕǰµÄ³É¹¦£¬ÔÚijÖ̶ֳÈÉÏÉõÖÁ±ÈUNIX»¹Òª³É¹¦¡£È»¶ø£¬“CÓïÑÔ¾ÍÏñÒ»°Ñ¿Ìµ¶£¬¼òµ¥£¬·æÀû£¬²¢ÇÒÔÚ¼¼Ê¦ÊÖÖзdz£ÓÐÓ᣺ÍÈκηæÀûµÄ¹¤¾ßÒ»Ñù£¬C»áÉ˵½ÄÇЩ²»ÄܼÝÔ¦ËüµÄÈË¡£” [8]CÓïÑÔÁé»îÐԵı³ºó£¬ÓÐןܶàµÄҪעÒâºÍ±ÜÃâµÄµØ·½£¬Ò»²»Ð¡ÐÄÄã¾Í»áÏÝÈëbugµÄÄà̶¡£ËùÒÔÒ²ÎÞ¹ÖºõÖ»ÓÐCÓïÑÔ²ÅÓÐÏñ¡¶The C Puzzle Book¡·£¬¡¶Obfuscated C and Other Mysteries¡·£¬¡¶C Traps and Pitfalls¡·Ö®ÀàµÄÊé¡£ÏÂÃæµÄÎÄÕ²»ÊǶÔÄÇЩÊéÖÐÌáµ½µÄÎÊÌâµÄÖØ¸´£¬¶øÊÇ¶ÔÆäËüһЩϸСµÄµØ·½ºÍ²¿·ÖC¿âº¯Êý½øÐÐÌÖÂÛ¡£ ´ó²¿·Ö¶¼»á¼¯Öе½±ê×¼CÉÏ£¬²Î¿¼µÄ±ê×¼ÊÇISO C99£¬Ò»Ð¡²¿·Ö¿ÉÄÜ»áÉæ¼°µ½¾ßÌåÆ½Ì¨¡£
Ò». sizeofÓëreturn
sizeof²»ÊǺ¯Êý£¬¶øÊÇÒ»Ôª²Ù×÷·û£¬Ã»±ØÒª¸øËüºóÃæµÄ±í´ïʽ¼ÓÀ¨ºÅ¡£µ«Èç¹û¼ÆËãµÄÊÇÒ»ÖÖÀàÐ͵ĴóС£¬s ......