ÇóC++תJavaµÄУÑéºÍ´úÂë - C/C++ / C++ ÓïÑÔ
ËùÓеķÖËÍÉÏ,ÇóÏÂÃæµÄC++УÑéºÍ´úÂëתJava´úÂëµÄʵÏÖ:
typedef union{
unsigned long sum;
char _char[TypeSize];
}Left_Sum;
unsigned long checksum(void* pBuffer, int iLen)
{
Left_Sum leftsum;
unsigned long checksum;
unsigned long* pType = NULL;
char* pChar = NULL;
int iCount = iLen / sizeof(unsigned long);
int iLeft = iLen % sizeof(unsigned long);
if(NULL == pBuffer)
{
throw ;
}
pType = (type*)pBuffer;
pChar = (char*)pBuffer;
checksum = type(0);
leftsum.sum = type(0);
for(int i=0; i<iCount; ++i)
{
checksum += pType[i];
}
if(iLeft > 0)
{
memcpy(&leftsum._char[TypeSize-iLeft], &pChar[iLen-iLeft], iLeft);
}
return checksum + leftsum.sum;
}
×Ô¼º¶¥Æð
³ÌÐò²»È«,ÎÞ·¨Àí½â³ÌÐòÈ«²¿Òâ˼,javaûÓÐunionµÄ,ËùÒÔÖ»ÄÜ´ÓËã·¨ÉÏÄ£ÄâËü
ÁíÒ»·½·¨,½«ÄãµÄcº¯Êý×ö³ÉDLL,ÈÃJAVAµ÷ÓÃ
參¿¼ÎÒ»Ø過µÄ:
http://topic.csdn.net/t/20050922/07/4285687.html
»¹ÓÐ,¿ÉÒÔÀûÓÃJNI,Ö±½ÓÓÃJAVAµ÷ÓÃCº¯Êý
參¿¼ÎÒ»Ø過µÄ:
http://topic.csdn.net/t/20051007/10/4309986.html
Êǰ¡,javaÊÇûÓÐunion,µ«Ó¦¸Ã¿ÉÒÔÄ£ÄâËüµÄËã·¨°É
Ö»ÒªjavaºÍc++¼ÆËã³öÀ´µÄ½á¹ûÊÇÒ»ÑùµÄ¾Í¿ÉÒÔÁË
µ«ÄãµÄ³ÌÐòÖÐ
TypeSize,type,¶¼ÊÇÔõô¶¨ÒåµÄ?Èç¹ûÓÐÕâÁ½¸ö,ÓÐʱ¼äµ½¿ÉÒÔ°ïÄãתתÊÔÊÔ
Õâ¸öÊÇ×îºóµÄ´úÂë,
typedef union{
unsigned long sum;
Ïà¹ØÎÊ´ð£º
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
visual c++2008Ëٳɰ棬²»ÄܱàÒëC³ÌÐòÂð£¿Èç¹ûÄÜÊÇÔõô¿ªÊ¼µÄ°¡£¿ÓÃËü´øµÄÃüÁîÌáʾµ¥Ôª³ýÍâ ¡£
н¨¹¤³Ì£¨¿Õ¹¤³Ì»òwin32¿ØÖÆÌ¨£©
¾ø¶Ô¿ÉÒÔ¡£½¨Á¢win32¿ØÖÆÌ¨³ÌÐò¾Í¿ÉÒÔ
ÒýÓÃ
н¨¹¤³Ì£¨¿Õ¹¤³Ì»òwin32¿ØÖÆÌ¨£ ......
ÔÚJSPÒ³ÃæÓÐÒ»¸ö<input type="hidden" name="index" value="0">/>¿Ø¼þ
µ±ÎÒÓÃÏÂÃæµÄJavaScriptº¯Êý¸Ä±äÆävalueµÄÖµµÄʱºò Èç¹ûÂú×ãÌõ¼þ£¨¼´i>=3µÄʱºò£©ÎªÊ²Ã´valueµÄ ......
ÇëÎʸ÷λ¸ç¸ç½ã½ã£¬ÈçºÎÔËÓÃÏֳɵÄÄ£°åÀ´ÖÆ×÷ƯÁÁµÄJSPÍøÒ³Ñ½,»ØÕßÓзÖ!
×Ô¼º¶¥Ï£¬×ÜÓиßÊÖ°É,ÆÚ´ýÖÐ......
Èç¹ûÖ±½ÓÒýÓýøÈ¥
¿ÉÒÔÖ±½ÓÓÃjspµÄÖ¸ÁҲ¿ÉÒÔÓÃfreemarkÒýÓ㬼ǵøø·Ö
лл¸÷λÁË£¬¿´À´Î ......