»ªÎªC/C++±ÊÊÔÌâ2
»ªÎªC/C++±ÊÊÔÌâ2 ÊÕ²Ø
1. ij32λϵͳÏÂ, C++³ÌÐò£¬Çë¼ÆËãsizeof µÄÖµ
#include <stdio.h>
#include <malloc.h>
void Foo ( char str[100] )
{
printf("sizeof(str)=%d \n", sizeof(str) );//´Ë´¦Ê¹ÓÃchar *strÓëchar str[100]ÊÇÒ»ÑùµÄ£¬char str[100]²»Ö¸Ã÷´óС(char str[])Ò²ÐÐ,ÒòΪ±àÒëÆ÷ÊǰÑËüµ±×ö Ò»¸öÖ¸ÕëÀ´´¦ÀíµÄ
}
main()
{
char str[] = "www.ibegroup.com";
char *p1 = str ;
int n = 10;
void *p2 = malloc( 100 );
printf("sizeof(str)=%d \n", sizeof(str) );
printf("sizeof(p1)=%d \n", sizeof(p1) );
printf("sizeof(n)=%d \n", sizeof(n) );
printf("sizeof(p2)=%d \n", sizeof(p2) );
Foo(str);//Êý×éÃûÏ൱ÓÚÒ»¸öÖ¸Õ룬ָÕëµÄ´óСΪ4£¬ËùÒÔÊä³ö4¶ø²»ÊÇ17£¬ÁíÍâsizeof ÊǼÆËãÀàÐͳ¤¶ÈµÄ£¬strlen ²ÅÊǼÆËã×Ö·û´®³¤¶ÈµÄ}
}
´ð£º(1)17 (2)4 (3) 4 (4)4 (5)4
2. »Ø´ðÏÂÃæµÄÎÊÌâ
(1) Í·ÎļþÖÐµÄ ifndef/define/endif¸ÉʲôÓÃ? Ô¤´¦Àí
´ð£º·ÀֹͷÎļþ±»Öظ´ÒýÓÃ
(2) #include <filename.h> ºÍ #include "filename.h" ÓÐÊ²Ã´Çø±ð?
´ð£º
¶ÔÓÚ#include <filename.h> £¬±àÒëÆ÷´Ó±ê×¼¿â·¾¶¿ªÊ¼ËÑË÷filename.h
¶ÔÓÚ#include "filename.h" £¬±àÒëÆ÷´ÓÓû§µÄ¹¤×÷·¾¶¿ªÊ¼ËÑË÷filename.h
(3) ÔÚC++ ³ÌÐòÖе÷Óñ» C ±àÒëÆ÷±àÒëºóµÄº¯Êý£¬ÎªÊ²Ã´Òª¼Ó extern “C”ÉùÃ÷?
´ð£ºº¯ÊýºÍ±äÁ¿±»C++±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬£¬±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ¡£ÓÉÓÚ±àÒëºóµÄÃû×Ö²»Í¬£¬C++³ÌÐò²»ÄÜÖ±½Óµ÷ÓÃC º¯Êý¡£C++ÌṩÁËÒ»¸öC Á¬½Ó½»»»Ö¸¶¨·ûºÅextern“C”À´½â¾öÕâ¸öÎÊÌâ¡£
3. »Ø´ðÏÂÃæµÄÎÊÌâ
(1) ÇëÎÊÔËÐÐTest º¯Êý»áÓÐʲôÑùµÄ½á¹û?
Void GetMemory(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
´ð£ºÊä³ö“hello”
Ïà¹ØÎĵµ£º
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâ ......
(ת)C++ÖÐextern “C”º¬ÒåÉî²ã̽Ë÷
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏó&rdquo ......
ÔÚpb11Öн«C/S³ÌÐòת»»µ½B/SµÄ²½Öè(2009-01-06 21:12:20)
±êÇ©£ºÔÓ̸
·ÖÀࣺWebÏà¹Ø¼¼Êõ
ÔÚpb11Öн«C/S³ÌÐòת»»µ½B/SµÄ²½Öè
Ò»¡¢¿ª·¢»·¾³°²×°
1¡¢ÏȰ²×°windowsµÄIIS5.0ÒÔÉÏ
2¡¢ÔÙ°²×°
£¨1£©°²×°asp.net framework 2.0
£¨2£©°²×°Microsoft .NET Framework SDK 2.0, 3.0 or 3.5£¬ÎªÄܹ»ÔËÐÐ.net web·þÎñÒýÇ ......