ÕâÖÖÐèÇóÓ¦¸Ã¾ÍûC++³ÌÐòµ÷ÓÃCº¯ÊýÐèÇó¶àÁË.ĿǰµÄʵÏÖ»ù±¾Ö»ÓÐÒ»Àà·½·¨,¼´Í¨¹ý´¦Àí±»µ÷ÓõÄC++Îļþ.
ÎÄ
Öиø³öµÄÈÔÈ»ÊÇÍêÕûµÄ,¾ßÌåµÄ,µ«ÓÖ×î»ù±¾×î¼òµ¥µÄʵÏÖ,ÖÁÓÚÀíÂÛÐԵĶ«Î÷ÔÚÍøÉϺÜÈÝÒ×ËÑË÷µÄµ½.ÕâÀïÊÇÕë¶Ôµ÷ÓÃC++µÄ³ÉÔ±º¯ÊýµÄʵÏÖ.
aa.h
class AA {
int i;
public:
int ThisIsTest(int a, int b);
float ThisIsTest(float a, float b);
};
extern "C" int ThisIsTest_C(void* s, int a,int b);
extern "C" float PolymorphicTest_C(void* s,float a, float b);
aa.cpp:
#include "aa.h"
int AA::ThisIsTest(int a, int b){
return (a + b);
}
float AA::PolymorphicTest(float a, float b){
return (a+b);
}
int ThisIsTest_C(void* s, int a,int b){
AA* p = (AA*)s;
return p->ThisIsTest(a,b);
}
float PolymorphicTest_C(void* s,float a, float b){
AA* p = (AA*)s;
  ......
ÕâÖÖÐèÇóÓ¦¸Ã¾ÍûC++³ÌÐòµ÷ÓÃCº¯ÊýÐèÇó¶àÁË.ĿǰµÄʵÏÖ»ù±¾Ö»ÓÐÒ»Àà·½·¨,¼´Í¨¹ý´¦Àí±»µ÷ÓõÄC++Îļþ.
ÎÄ
Öиø³öµÄÈÔÈ»ÊÇÍêÕûµÄ,¾ßÌåµÄ,µ«ÓÖ×î»ù±¾×î¼òµ¥µÄʵÏÖ,ÖÁÓÚÀíÂÛÐԵĶ«Î÷ÔÚÍøÉϺÜÈÝÒ×ËÑË÷µÄµ½.ÕâÀïÊÇÕë¶Ôµ÷ÓÃC++µÄ³ÉÔ±º¯ÊýµÄʵÏÖ.
aa.h
class AA {
int i;
public:
int ThisIsTest(int a, int b);
float ThisIsTest(float a, float b);
};
extern "C" int ThisIsTest_C(void* s, int a,int b);
extern "C" float PolymorphicTest_C(void* s,float a, float b);
aa.cpp:
#include "aa.h"
int AA::ThisIsTest(int a, int b){
return (a + b);
}
float AA::PolymorphicTest(float a, float b){
return (a+b);
}
int ThisIsTest_C(void* s, int a,int b){
AA* p = (AA*)s;
return p->ThisIsTest(a,b);
}
float PolymorphicTest_C(void* s,float a, float b){
AA* p = (AA*)s;
  ......
2005Ä껪ΪÕÐÆ¸--CÓïÑÔ±ÊÊÔÊÔÌâ
Ò»¡¢ÅжÏÌ⣨¶ÔµÄдT£¬´íµÄдF²¢ËµÃ÷ÔÒò£¬Ã¿Ð¡Ìâ4·Ö£¬¹²20·Ö£©
1¡¢ÓÐÊý×鶨Òåint a[2][2]={{1},{2,3}};Ôòa[0][1]µÄֵΪ0¡££¨ T £©
2¡¢int (*ptr) (),ÔòptrÊÇһάÊý×éµÄÃû×Ö¡££¨ F£¬ ptrΪһ¸öº¯ÊýÖ¸Õë £©
3¡¢Ö¸ÕëÔÚÈκÎÇé¿ö϶¼¿É½øÐÐ>,<,>=,<=,==ÔËËã¡££¨ F£¬Ö¸Õë±È½Ï´óСûÓÐÈκÎÒâÒ壬µ«ÊÇ¿ÉÒԱȽÏ==Ó룡= £©
4¡¢switch(c) Óï¾äÖÐc¿ÉÒÔÊÇint ,long,char ,float ,unsigned int ÀàÐÍ¡££¨ F£¬²»¿ÉÒÔΪfloat £©
5¡¢#define print(x) printf(£¢the no, £¢#x£¢,is £¢) (T)
¶þ¡¢Ìî¿ÕÌ⣨¹²30·Ö£©
1¡¢ÔÚwindowsÏ£¬Ð´³öÔËÐнá¹û£¬Ã¿¿Õ2·Ö£¬¹²10·Ö¡£
char str[ ]= £¢Hello£¢;
char *p=str;
int n=10;
sizeof(str)=( 6 )
sizeof(p)=( 4 )
sizeof(n)=( 4 )
void func(char str[100])
{ }
sizeof(str)=( 4 )
2¡¢void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{&nbs ......
±àÒ룺C³ÌÐòÖ±½Ó±àÒë³É±ê×¼µÄ¶þ½øÖÆ¿ÉÖ´ÐеĴúÂ룬µ«C#µÄÔ´³ÌÐò²¢²»ÊDZ»±àÒë³É¶þ½øÖÆ¿ÉÖ´ÐеÄÐÎʽ£¬¶øÊÇÒ»ÖÖÖмäÓïÑÔ£¨MSIL£©£¬ÀàËÆJAVAÖеÄ×Ö½ÚÂë
½á¹¹Ì壺C#µÄ½á¹¹ÌåÓëC++µÄ½á¹¹ÌåÏàËÆ¡£µ«ÊÇC#µÄ½á¹¹ÌåÓëÀàÊDz»Í¬µÄ£¬¶øÇÒ²»Ö§³Ö¼Ì³Ð¡£
Ô¤±àÒ룺C#ÖдæÔÚÔ¤±àÒëµÄÖ¸ÁîÖ§³ÖÌõ¼þ±àÒ룬¾¯¸æ£¬´íÎ󱨸æºÍ±àÒëÐпØÖÆ¡£ÆäÖ¸ÁîÓëC/C++Óе㲻ͬ¡£
ûÓÐÁË#includeαָÁî¡£
²¿·Ö²Ù×÷·û¿ÉÒÔ±»ÖØÔØ£¬ÌرðµÄÊÇûÓÐÒ»¸ö¸³ÖµÔËËã·ûÄܹ»±»ÖØÔØ¡£
ÄÚ´æ¹ÜÀí·½Ãæ£ºÓɵײãµÄ.net¿ò¼Ü½øÐÐ×Ô¶¯»ØÊÕÄÚ´æÀ¬»ø¡£
......
±àÒ룺C³ÌÐòÖ±½Ó±àÒë³É±ê×¼µÄ¶þ½øÖÆ¿ÉÖ´ÐеĴúÂ룬µ«C#µÄÔ´³ÌÐò²¢²»ÊDZ»±àÒë³É¶þ½øÖÆ¿ÉÖ´ÐеÄÐÎʽ£¬¶øÊÇÒ»ÖÖÖмäÓïÑÔ£¨MSIL£©£¬ÀàËÆJAVAÖеÄ×Ö½ÚÂë
½á¹¹Ì壺C#µÄ½á¹¹ÌåÓëC++µÄ½á¹¹ÌåÏàËÆ¡£µ«ÊÇC#µÄ½á¹¹ÌåÓëÀàÊDz»Í¬µÄ£¬¶øÇÒ²»Ö§³Ö¼Ì³Ð¡£
Ô¤±àÒ룺C#ÖдæÔÚÔ¤±àÒëµÄÖ¸ÁîÖ§³ÖÌõ¼þ±àÒ룬¾¯¸æ£¬´íÎ󱨸æºÍ±àÒëÐпØÖÆ¡£ÆäÖ¸ÁîÓëC/C++Óе㲻ͬ¡£
ûÓÐÁË#includeαָÁî¡£
²¿·Ö²Ù×÷·û¿ÉÒÔ±»ÖØÔØ£¬ÌرðµÄÊÇûÓÐÒ»¸ö¸³ÖµÔËËã·ûÄܹ»±»ÖØÔØ¡£
ÄÚ´æ¹ÜÀí·½Ãæ£ºÓɵײãµÄ.net¿ò¼Ü½øÐÐ×Ô¶¯»ØÊÕÄÚ´æÀ¬»ø¡£
......
±àÒ룺C³ÌÐòÖ±½Ó±àÒë³É±ê×¼µÄ¶þ½øÖÆ¿ÉÖ´ÐеĴúÂ룬µ«C#µÄÔ´³ÌÐò²¢²»ÊDZ»±àÒë³É¶þ½øÖÆ¿ÉÖ´ÐеÄÐÎʽ£¬¶øÊÇÒ»ÖÖÖмäÓïÑÔ£¨MSIL£©£¬ÀàËÆJAVAÖеÄ×Ö½ÚÂë
½á¹¹Ì壺C#µÄ½á¹¹ÌåÓëC++µÄ½á¹¹ÌåÏàËÆ¡£µ«ÊÇC#µÄ½á¹¹ÌåÓëÀàÊDz»Í¬µÄ£¬¶øÇÒ²»Ö§³Ö¼Ì³Ð¡£
Ô¤±àÒ룺C#ÖдæÔÚÔ¤±àÒëµÄÖ¸ÁîÖ§³ÖÌõ¼þ±àÒ룬¾¯¸æ£¬´íÎ󱨸æºÍ±àÒëÐпØÖÆ¡£ÆäÖ¸ÁîÓëC/C++Óе㲻ͬ¡£
ûÓÐÁË#includeαָÁî¡£
²¿·Ö²Ù×÷·û¿ÉÒÔ±»ÖØÔØ£¬ÌرðµÄÊÇûÓÐÒ»¸ö¸³ÖµÔËËã·ûÄܹ»±»ÖØÔØ¡£
ÄÚ´æ¹ÜÀí·½Ãæ£ºÓɵײãµÄ.net¿ò¼Ü½øÐÐ×Ô¶¯»ØÊÕÄÚ´æÀ¬»ø¡£
......
ASPÍøÕ¾³ÌÐòÔÚ¹úÄÚÔËÓúܹã,µ«ÊÇÀàËÆÓÚ im286.asp?id=20050307213811ÕâÑùµÄURLÓе㲻ÀûÓÚËÑË÷ÒýÇæµÄÊÕ¼,Ò²¾ÍÊÇ˵²»·ûºÏÓѺÃURL(URLs- Friendly)µÄ±ê×¼,ÄÇôÎÒÃÇÓÃISAPI_Rewrite´òÔìÒ»¸öClean URL,
1.ÏÂÔØISAPI_Rewrite.ISAPI_Rewrite ·Ö¾«¼ò(Lite)ºÍÍêÈ«(Full)°æ.¾«¼ò°æ²»Ö§³Ö¶Ôÿ¸öÐéÄâÖ÷»úÕ¾µã½øÐÐÖØÐ´,Ö»ÄܽøÐÐÈ«¾Ö´¦Àí.²»¹ý¶ÔÓÚÓзþÎñÆ÷µÄÅóÓÑ,¾«¼ò°æÒ²¾Í¹»À².¾«¼ò°æ ÏÂÔØµØÖ·:http://www.helicontech.com/download/,¾ÍÊÇÄÇLite Version (free)À².
2.°²×°.msiµÄÎļþ,ºÍ×°Ò»°ã³ÌÐòÒ»Ñù×°¾Í¿ÉÒÔÁË,°³¾Í×°ÔÚD:\ISAPI_Rewrite.
3.½ÓÏÂÀ´Ò»²½±È½ÏÖØÒªÅ¶,¿´×Ðϸà¶.´ò¿ªInternet ÐÅÏ¢·þÎñ,ÓÒ¼ü,webÕ¾µãÊôÐÔ,µçISAPIɸѡÆ÷Ñ¡Ï.Ìí¼ÓɸѡÆ÷,Ãû³Æ×Ô¼ºÌî,·¾¶×Ô¼ºÖ¸¶¨ISAPI_Rewrite.dll,È»ºóÈ·¶¨.
4.À´²âÊÔÒ»ÏÂ.н¨Ò»¸ö1ting.asp,ÀïÃæÐ´ÉÏ
<%=request.querystring("inso")%>
,Ч¹û¾ÍÊÇÖ´ÐеÄʱºò1ting.asp?inso=*ä¯ÀÀÆ÷ÏÔʾ*.
5.ÕâÒ»²½ºÜÖØÒªÅ¶,¿ªÊ¼Ìí¼Órewrite¹æÔò.ÕýÔò,ºÃÍ·Í´,ÐÒ¿÷Õâ¸öÀý×ӱȽϼòµ¥.
ÕÒµ½ISAPI_RewriteĿ¼,°Ñhttpd.iniµÄÖ»¶ÁÊôÐÔÈ¥µô,´ò¿ª±à¼.ÎÒÃÇÒª°Ñ1ting.asp?inso=im286Ó³Éä³ÉΪ1ting-im286.htmlÕâÑùµÄÀàÐÍ,ÐèÒªÔÚhttpd.iniÀï¼ÓÉÏÕ ......
<%
'ÈÕÆÚº¯Êý°üDataPackage
%>
<script language="javascript">
function IsDateString(Str)
<!--
{
// УÑéÊÇ·ñYYYY-MM-DD¸ñʽµÄÈÕÆÚÐÍÊý¾Ý£¬·µ»ØÖµÎªTrue³É¹¦£¬·ñÔò·µ»ØFalse
// Èç¹û´«µÝµÄÊÇ¿Õ×Ö·û´®Ôò·µ»ØFalse
// ¶¨Òå·Ö¸ô·û
var sSplit="-"
var iYearPos=Str.indexOf(sSplit);
if (iYearPos==-1) return false;
var iMonthPos=Str.indexOf(sSplit,iYearPos+1);
if (iMonthPos==-1) return false;
// ·ÖÀë³öÄê·Ý
sYear=Str.substr(0,iYearPos);
// ·ÖÀë³öÔ·Ý
sMonth=Str.substr(iYearPos+1,iMonthPos-iYearPos-1);
//Ô·ݳ¤¶ÈΪ¶þ
if (sMonth.length!=2) return false;
if (sMonth.substr(0,1)=="0") sMonth=sMonth.substr(1);
// ·ÖÀë³öÈÕÆÚ
sDay=Str.substr(iMonthPos+1);
//ÈÕ³¤¶ÈΪ¶þ
if (sDay.length!=2) return false;
if (sDay.substr(0,1)=="0") sDay=sDay.substr(1);
// Äê·ÝÊÇ·ñÊý×Ö£¿
if (isNaN(sYear)) return false;
var iYear=parseInt(sYear);
// Äê·ÝÊÇ·ñÕûÊý£¿
if (sYear!=iYear) return false;
// Äê·ÝÊÇ·ñÔÚ1000-9999Ö®¼ä£¿
if (iYear<1000 || iYear>9999) return false;
// Ô·ÝÊÇ·ñÊý×Ö£¿ ......
·½·¨Ò»£º
<%
' ============================================
' ¸ñʽ»¯Ê±¼ä(ÏÔʾ)
' ²ÎÊý£ºn_Flag
' 1:"yyyy-mm-dd hh:mm:ss"
' 2:"yyyy-mm-dd"
' 3:"hh:mm:ss"
' 4:"yyyyÄêmmÔÂddÈÕ"
' 5:"yyyymmdd"
' 6:"mm-dd"
' ============================================
Function Format_Time(s_Time, n_Flag)
Dim y, m, d, h, mi, s
Format_Time = ""
If IsDate(s_Time) = False Then Exit Function
y = cstr(year(s_Time))
m = cstr(month(s_Time))
If len(m) = 1 Then m = "0" & m
d = cstr(day(s_Time))
If len(d) = 1 Then d = "0" & d
h = cstr(hour(s_Time))
If len(h) = 1 Then h = "0" & h
mi = cstr(minute(s_Time))
If len(mi) = 1 Then mi = "0" & mi
&n ......