extern³ýÁËÄܹ»ÓÃÓÚÉùÃ÷±äÁ¿£¬ÒѾÔÚÍⲿ±»¶¨Ò壬²»ÓÃÖØÐ¶¨ÒåºÍ·ÖÅäÄÚ´æ¿Õ¼ä£¬»¹¿ÉÒÔÔÚC++ÓëC½øÐÐÏ໥º¯Êýµ÷Ó÷½Ãæ»áÓкܴóµÄÓô¦¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´Ò»Ï£¬ÎªÊ²Ã´C++ºÍCÓïÑÔ²»ÄÜÏ໥½øÐк¯Êýµ÷Óãº
±àдÈçϵÄÔ´Îļþ£º
int func(int i)
{
return 1;
}
·Ö±ð´æÎªtest.cc,test.c£¬·Ö±ð½øÐбàÒëÉú³ÉobjectÎļþ£º
g++ -c test.cc -o testcc
gcc -c test.c -o testc
ʹÓÃnmÃüÁî²é¿´Éú³ÉµÄobjectÎļþµÄ²»Í¬ÔÚÄĸöµØ·½£º
nm testcc
00000000 T _Z4funci
U __gxx_personality_v0
nm testc
00000000 T func
¿´³öÀ´Á˰ɣ¬C++±àÒëÆ÷°Ñ²ÎÊýÐÅÏ¢±àÒëºó·Åµ½Á˺¯ÊýµÄ¶ÔÏóÃû×ÖÀïÃæ£¨ÎªÁËʵÏÖ¶à̬£©£¬ËùÒÔ²»ÄÜ»¥ÏàÖ±½Óµ÷Óá£
ÖªµÀÁËÔÒò£¬½â¾öµÄ°ì·¨×ÔÈ»¾ÍÓÐÁË£¬Ö»Òª¸æËßÁ´½Ó³ÌÐò£¬ÄãÁ´½ÓµÄobjectµÄÃüÃû·½Ê½£¬Ëü¾Í»á°ïÄã×ö²»Ò»ÑùµÄ²éÕÒ£¬´Ó¶øÕÒµ½C»òÕßC++ÀïÃæµÄº¯ÊýÁË¡£
±ÈÈ磺
ÒªÈÃC++Äܹ»µ÷ÓÃCµÄº¯Êý£º
main.cc
extern "C"
{
int func(int i) ......
extern³ýÁËÄܹ»ÓÃÓÚÉùÃ÷±äÁ¿£¬ÒѾÔÚÍⲿ±»¶¨Ò壬²»ÓÃÖØÐ¶¨ÒåºÍ·ÖÅäÄÚ´æ¿Õ¼ä£¬»¹¿ÉÒÔÔÚC++ÓëC½øÐÐÏ໥º¯Êýµ÷Ó÷½Ãæ»áÓкܴóµÄÓô¦¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´Ò»Ï£¬ÎªÊ²Ã´C++ºÍCÓïÑÔ²»ÄÜÏ໥½øÐк¯Êýµ÷Óãº
±àдÈçϵÄÔ´Îļþ£º
int func(int i)
{
return 1;
}
·Ö±ð´æÎªtest.cc,test.c£¬·Ö±ð½øÐбàÒëÉú³ÉobjectÎļþ£º
g++ -c test.cc -o testcc
gcc -c test.c -o testc
ʹÓÃnmÃüÁî²é¿´Éú³ÉµÄobjectÎļþµÄ²»Í¬ÔÚÄĸöµØ·½£º
nm testcc
00000000 T _Z4funci
U __gxx_personality_v0
nm testc
00000000 T func
¿´³öÀ´Á˰ɣ¬C++±àÒëÆ÷°Ñ²ÎÊýÐÅÏ¢±àÒëºó·Åµ½Á˺¯ÊýµÄ¶ÔÏóÃû×ÖÀïÃæ£¨ÎªÁËʵÏÖ¶à̬£©£¬ËùÒÔ²»ÄÜ»¥ÏàÖ±½Óµ÷Óá£
ÖªµÀÁËÔÒò£¬½â¾öµÄ°ì·¨×ÔÈ»¾ÍÓÐÁË£¬Ö»Òª¸æËßÁ´½Ó³ÌÐò£¬ÄãÁ´½ÓµÄobjectµÄÃüÃû·½Ê½£¬Ëü¾Í»á°ïÄã×ö²»Ò»ÑùµÄ²éÕÒ£¬´Ó¶øÕÒµ½C»òÕßC++ÀïÃæµÄº¯ÊýÁË¡£
±ÈÈ磺
ÒªÈÃC++Äܹ»µ÷ÓÃCµÄº¯Êý£º
main.cc
extern "C"
{
int func(int i) ......
ʲôÊǽṹÌ壿
¼òµ¥µÄÀ´Ëµ£¬½á¹¹Ìå¾ÍÊÇÒ»¸ö¿ÉÒÔ°üº¬²»Í¬Êý¾ÝÀàÐ͵ÄÒ»¸ö½á¹¹£¬ËüÊÇÒ»ÖÖ¿ÉÒÔ×Ô¼º¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ËüµÄÌØµãºÍÊý×éÖ÷ÒªÓÐ
Á½µã²»Í¬£¬Ê×ÏȽṹÌå¿ÉÒÔ
ÔÚÒ»¸ö½á¹¹ÖÐÉùÃ÷²»Í¬µÄÊý¾ÝÀàÐÍ£¬µÚ¶þÏàͬ½á¹¹µÄ½á¹¹Ìå±äÁ¿ÊÇ¿ÉÒÔÏ໥¸³ÖµµÄ£¬¶øÊý×éÊÇ×ö²»µ½µÄ£¬ÒòΪÊý×éÊǵ¥Ò»Êý¾ÝÀàÐ͵ÄÊý¾Ý¼¯ºÏ£¬Ëü±¾Éí²»ÊÇÊý¾ÝÀàÐÍ
(¶ø½á¹¹ÌåÊÇ)£¬Êý×éÃû³ÆÊdz£Á¿Ö¸Õ룬ËùÒÔ²»¿ÉÒÔ×öΪ×óÖµ½øÐÐÔËË㣬ËùÒÔÊý×éÖ®¼ä¾Í²»ÄÜͨ¹ýÊý×éÃû³ÆÏ໥¸´ÖÆÁË£¬¼´Ê¹Êý¾ÝÀàÐͺÍÊý×é´óСÍêÈ«Ïàͬ¡£
¶¨Òå½á¹¹ÌåʹÓÃstructÐÞÊηû£¬ÀýÈ磺
struct test
{
float a;
int b;
};
ÉÏÃæµÄ´úÂë¾Í¶¨ÒåÁËÒ»¸öÃûΪtestµÄ½á¹¹Ì壬ËüµÄÊý¾ÝÀàÐ;ÍÊÇtest£¬Ëü°üº¬Á½¸ö³ÉÔ±aºÍb£¬³ÉÔ±aµÄÊý¾ÝÀàÐÍΪ¸¡µãÐÍ£¬³ÉÔ±bµÄÊý¾ÝÀàÐÍΪÕûÐÍ¡£
ÓÉÓڽṹÌå±¾Éí¾ÍÊÇ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬¶¨Òå½á¹¹Ìå±äÁ¿µÄ·½·¨ºÍ¶¨ÒåÆÕͨ±äÁ¿µÄ·½·¨Ò»Ñù¡£
test pn1;
ÕâÑù¾Í¶¨ÒåÁËÒ»test½á¹¹ÌåÊý¾ÝÀàÐ͵ĽṹÌå±äÁ¿pn1£¬½á¹¹Ìå³ÉÔ±µÄ·ÃÎÊͨ¹ýµã²Ù×÷·û½øÐУ¬pn1.a=10 ¾Í¶Ô½á¹¹Ìå±äÁ¿pn1µÄ³ÉÔ±a½øÐÐÁ˸³Öµ²Ù×÷¡£
×¢Òâ:½á¹¹ÌåÉúÃüµÄʱºò±¾Éí²»Õ¼ÓÃÈκÎÄÚ´æ¿Õ¼ä£¬Ö»Óе±ÄãÓÃÄ㶨ÒåµÄ½á¹¹ÌåÀàÐͶ¨Òå½á¹¹Ìå±äÁ¿µÄʱºò¼ÆËã»ú²Å»á·ÖÅäÄÚ´æ¡£
½á¹¹Ì壬ͬ ......
ʲôÊǽṹÌ壿
¼òµ¥µÄÀ´Ëµ£¬½á¹¹Ìå¾ÍÊÇÒ»¸ö¿ÉÒÔ°üº¬²»Í¬Êý¾ÝÀàÐ͵ÄÒ»¸ö½á¹¹£¬ËüÊÇÒ»ÖÖ¿ÉÒÔ×Ô¼º¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ËüµÄÌØµãºÍÊý×éÖ÷ÒªÓÐ
Á½µã²»Í¬£¬Ê×ÏȽṹÌå¿ÉÒÔ
ÔÚÒ»¸ö½á¹¹ÖÐÉùÃ÷²»Í¬µÄÊý¾ÝÀàÐÍ£¬µÚ¶þÏàͬ½á¹¹µÄ½á¹¹Ìå±äÁ¿ÊÇ¿ÉÒÔÏ໥¸³ÖµµÄ£¬¶øÊý×éÊÇ×ö²»µ½µÄ£¬ÒòΪÊý×éÊǵ¥Ò»Êý¾ÝÀàÐ͵ÄÊý¾Ý¼¯ºÏ£¬Ëü±¾Éí²»ÊÇÊý¾ÝÀàÐÍ
(¶ø½á¹¹ÌåÊÇ)£¬Êý×éÃû³ÆÊdz£Á¿Ö¸Õ룬ËùÒÔ²»¿ÉÒÔ×öΪ×óÖµ½øÐÐÔËË㣬ËùÒÔÊý×éÖ®¼ä¾Í²»ÄÜͨ¹ýÊý×éÃû³ÆÏ໥¸´ÖÆÁË£¬¼´Ê¹Êý¾ÝÀàÐͺÍÊý×é´óСÍêÈ«Ïàͬ¡£
¶¨Òå½á¹¹ÌåʹÓÃstructÐÞÊηû£¬ÀýÈ磺
struct test
{
float a;
int b;
};
ÉÏÃæµÄ´úÂë¾Í¶¨ÒåÁËÒ»¸öÃûΪtestµÄ½á¹¹Ì壬ËüµÄÊý¾ÝÀàÐ;ÍÊÇtest£¬Ëü°üº¬Á½¸ö³ÉÔ±aºÍb£¬³ÉÔ±aµÄÊý¾ÝÀàÐÍΪ¸¡µãÐÍ£¬³ÉÔ±bµÄÊý¾ÝÀàÐÍΪÕûÐÍ¡£
ÓÉÓڽṹÌå±¾Éí¾ÍÊÇ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬¶¨Òå½á¹¹Ìå±äÁ¿µÄ·½·¨ºÍ¶¨ÒåÆÕͨ±äÁ¿µÄ·½·¨Ò»Ñù¡£
test pn1;
ÕâÑù¾Í¶¨ÒåÁËÒ»test½á¹¹ÌåÊý¾ÝÀàÐ͵ĽṹÌå±äÁ¿pn1£¬½á¹¹Ìå³ÉÔ±µÄ·ÃÎÊͨ¹ýµã²Ù×÷·û½øÐУ¬pn1.a=10 ¾Í¶Ô½á¹¹Ìå±äÁ¿pn1µÄ³ÉÔ±a½øÐÐÁ˸³Öµ²Ù×÷¡£
×¢Òâ:½á¹¹ÌåÉúÃüµÄʱºò±¾Éí²»Õ¼ÓÃÈκÎÄÚ´æ¿Õ¼ä£¬Ö»Óе±ÄãÓÃÄ㶨ÒåµÄ½á¹¹ÌåÀàÐͶ¨Òå½á¹¹Ìå±äÁ¿µÄʱºò¼ÆËã»ú²Å»á·ÖÅäÄÚ´æ¡£
½á¹¹Ì壬ͬ ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ² ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ² ......
MISRA--×÷Ϊ¹¤Òµ±ê×¼µÄC±à³Ì¹æ·¶(ǶÈëʽc¿ª·¢Õ߱ضÁ)
MISRA--×÷Ϊ¹¤Òµ±ê×¼µÄC±à³Ì¹æ·¶
MISRA (The Motor Industry Software Reliability Association
Æû³µ¹¤ÒµÈí¼þ¿É¿¿ÐÔÁª»á)
ÊÇλÓÚÓ¢¹úµÄÒ»¸ö¿ç¹úÆû³µ¹¤ÒµÐ»á£¬Æä³ÉÔ±°üÀ¨Á˴󲿷ÖÅ·ÃÀÆû³µÉú²úÉÌ¡£ÆäºËÐÄʹÃüÊÇΪÆû³µ¹¤ÒµÌṩ·þÎñºÍÐÖú£¬°ïÖú³§·½¿ª·¢°²È«µÄ¡¢¸ß¿É¿¿ÐÔµÄǶÈëʽÈí
¼þ¡£Õâ¸ö×éÖ¯×î³öÃûµÄ³É¹ûÊÇËùνµÄMISRA C Coding
Standard£¬ÕâÒ»±ê×¼ÖаüÀ¨ÁË127ÌõCÓïÑÔ±àÂë±ê×¼£¬Í¨³£ÈÏΪ£¬Èç¹ûÄܹ»ÍêÈ«×ñÊØÕâЩ±ê×¼£¬ÔòÄãµÄC´úÂëÊÇÒ×¶Á¡¢¿É¿¿¡¢¿ÉÒÆÖ²ºÍÒ×ÓÚά»¤µÄ¡£×î½ü
ºÜ¶àǶÈëʽ¿ª·¢Õß¶¼ÒÔMISRA
CÀ´ºâÁ¿×Ô¼ºµÄ±àÂë·ç¸ñ£¬±ÈÈçÖøÃûµÄuC/OS-II¾ÍµÃÒâµØÐû³Æ×Ô¼º99£¥×ñÊØMISRA±ê×¼¡£¶ø¡¶Ç¶Èëʽ¿ª·¢ÔÓÖ¾¡·Ò²×¨ÃÅÔØÎĺÅÕÙ´ó¼Òѧϰ¡£±àÂë¹æ·¶
ͨ³£ÊÇÒ»¸ö¹«Ë¾×Ô¶¨µÄ“ÍÁÕþ²ß”£¬¾ÓÈ»ÓÐÈËÈ¥×ö±ê×¼£¬¶øÇÒ»¹µÃµ½¹ã·ºµÄÈϿɣ¬Õâ²»½ûÒýÆðÎÒÇ¿ÁÒµÄÐËȤ¡£¿ÉϧÕâ·Ý±ê×¼µÄÎı¾ÐèÒª»¨Ç®È¥Âò£¬¶øÇҶ̶̼¸Ê®Ò³£¬
Òª¼Û·Ç³£°º¹ó¡£MISRAÔÚÍøÉϹ«²¼ÁËһЩÎĵµ£¬ÆäÖÐÓйØÓÚMISRA C Coding
StandardµÄClarification±¨¸æ£¬´ÓÖмäÄã¿ÉÒÔ´óÖ²µ½MISRA±ê×¼±¾ÉíÊÇʲô¡£ÎÒ×ÐϸÔĶÁÁËÕâЩÎĵµ£¬²¢ÇÒͨ¹ýÔÄ ......
1 fseekÒÆ¶¯Ö¸Õë»ñÈ¡
#include <stdio.h>
#include <stdlib.h>
long filesize( FILE *fp )
{
long int save_pos;
long size_of_file;
/* Save the current position. */
save_pos = ftell( fp );
/* Jump to the end of the file. */
fseek( fp, 0L, SEEK_END );
/* Get the end position. */
size_of_file = ftell( fp );
/* Jump back to the original position. */
fseek( fp, save_pos, SEEK_SET );
return( size_of_file );
}
int main( void )
{
FILE *fp;
fp = fopen( "aa.txt", "r" );
if( fp != NULL ) {
printf( "File size=%ld\n", filesize( fp ) );
fclose( fp );
return EXIT_SUCCESS;
&nb ......
ÎÒдÁËÒ»¸ö±íµ¥¾ÍÊÇÓÃÀ´ÏòÊý¾Ý¿âÖÐÌí¼ÓÊý¾ÝµÄ action=post.asp method=post
È»ºóÔÙpost.aspµ±ÖÐÎÒÓÖͨ¹ýrequest.form»ñÈ¡ÁËÏàÓ¦µÄÖµ£¬È»ºóÌí¼ÓµÄÊý¾Ý¿âµ±ÖÐ
ËùÓеĴúÂëÈçÏÂ
------------------------------------conn.asp-----------------------------
<%
dim db
const databasetype="access"
db="data\meiyijixie.mdb"
dim connstr
dim conn
ConnStr ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
set conn=server.createobject("ADODB.Connection")
conn.open connstr
'sub CloseConn()
' On Error Resume Next
' If IsObject(Conn) Then
' conn.close
' set conn=nothing
' end if
'end sub
%>
------------------------------------post.asp------------------------------------------
<!--#include file=conn.asp-->
<%
dim name,tel,email,content
name=request.form("name")
email=request.form("email")
tel=request.form("tel")
content=request.form("content")
qq=request.form("qq")
if request.form("name")="" then
response.write"<s ......