²»¿ÉС¿´µÄextern "C"
ÏîÄ¿ÖÐÒªÓõ½Ò»¸öÄ£¿é¡£¿´ÁËϸÃÄ£¿éµÄÓ÷¨£¬¾ÍÒÀºù«»Æ°µÄ°áµ½×Ô¼ºµÄ´úÂëÀïÃæÀ´ÁË¡£²»¹ýÔÚ±àÒëµÄʱºòÅöµ½ÁËÂé·³£¬ ÔÚ³ÌÐòÁ´½ÓµÄʱºò³ö´í£º“undefined reference to***",Ó¦¸ÃÊÇÒòΪûÓаüº¬ÏàÓ¦µÄ¿âÎļþ°É¡£
ÓÚÊDZȽÏÁËmake fileÎļþµÄд·¨£¬ÊÔͼÔÚÎÒÕâ±ßµÄmakefile ÖмÓÉÏÏàÓ¦µÄ¿â¡£µ«ÊÇÕÛÌÚÁ˰ëÌ죬δ½â¾ö¡£ÔÚÍøÉÏËÑÁ˰ëÌ죬ûÓеãÍ·Ð÷£¬ºöȻһ¸öÌû×ÓÖеÄÒ»¾ä»°ÌáÐÑÁËÎÒ£¬“»òÕß¾ÍÊÇc£«£« ºÍc¶ÔͬÃûµÄº¯Êý±àÒë³öµÄº¯ÊýÃû×ÖÊDz»Ò»ÑùµÄ¡£ËùÒÔÄØÒªextern c”¡£¸Ï½ô¿´ÎÒÃǵĴúÂ룡¹ûÈ»£¬ÎÒÒýÓõÄÄ£¿éÊÇÓÃcдµÄ£¬µ«ÊÇËüµÄÏàÓ¦º¯ÊýûÓ÷ÅÔÚextern C{}ÄÚ£»¶øÎÒÕⲿ·ÖÓõÄÊÇC++¡£¡£¡£
ÓÚÊÇÔÚÏàÓ¦²¿Î»¼ÓÉÏ #ifdef __cplusplus
extern "C" {
#endif
ºÍ#ifdef __cplusplus
}
#endif¡£Á´½Óͨ¹ýÁË!
Ò»¸ö¾ÑéÊÇΪÁËc´úÂëÄÜÔÚC++Öз½±ãµÄʹÓã¬Ò»¶¨ÒªÔÚc³ÌÐòÏàӦͷÎļþÖмÓÉÏ extern "C"¡£
Ïà¹ØÎĵµ£º
Õâ¸ö±¾À´ÒÔǰҲд¹ýµÄ£¬½ñÌìÎÞÁĸ´Ï°Ï ÔÙдһ±é¡£¼òµ¥µÄÒ»ËúºýÍ¿£¬Ð´µÄ²»Õ¦µØ´ó¼Ò¼ûÁÂŶ£¡ÓпÕÔÙ¼ÓÇ¿ ºÙºÙ£¡
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <time.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h ......
ÈÝÒ×´íÎóµÄʹÓÃÖ¸Õë:
void GetMemory(char *p, int num)
{
p = (char *)malloc(sizeof(char) * num);
}
void Test(void)
{
char *str = NULL;
GetMemory(str, 100); // str ÈÔȻΪ NULL
strcpy(str, "hello"); // ÔËÐдíÎó
}
벡³öÔÚº¯ÊýGetMemory ÖС£±àÒëÆ÷×ÜÊÇÒ ......
³£Óú궨Òå
1¡¢·ÀÖ¹Ò»¸öÍ·Îļþ±»Öظ´°üº¬
#ifndef COMDEF_H
#define COMDEF_H
//Í·ÎļþÄÚÈÝ
#endif
2¡¢ÖØÐ¶¨ÒåһЩÀàÐÍ£¬·ÀÖ¹ÓÉÓÚ¸÷ÖÖÆ½Ì¨ºÍ±àÒëÆ÷µÄ²»Í¬£¬¶ø²úÉúµÄÀàÐÍ×Ö½ÚÊý²îÒ죬·½±ãÒÆÖ²¡£
typedef unsigned char boolean; /* Boolean v ......
ÊÔÌâ1£ºÇëдһ¸öCº¯Êý£¬Èô´¦ÀíÆ÷ÊÇBig_endianµÄ£¬Ôò·µ»Ø0£»ÈôÊÇLittle_endianµÄ£¬Ôò·µ»Ø1
½â´ð£º
int checkCPU( )
{
{
union w
{
&n ......
C/S½á¹¹£¬¼´Client/Server(¿Í»§»ú/·þÎñÆ÷)½á¹¹£¬ÊÇ´ó¼ÒÊìÖªµÄÈí¼þϵͳÌåϵ½á¹¹£¬Í¨¹ý½«ÈÎÎñºÏÀí·ÖÅäµ½Client¶ËºÍServer¶Ë£¬½µµÍÁËϵͳµÄͨѶ¿ªÏú£¬¿ÉÒÔ³ä·ÖÀûÓÃÁ½¶ËÓ²¼þ»·¾³µÄÓÅÊÆ¡£ÔçÆÚµÄÈí¼þϵͳ¶àÒÔ´Ë×÷ΪÊ×Ñ¡Éè¼Æ±ê×¼¡£
B/S½á¹¹£¬¼´Browser/Server(ä¯ÀÀÆ÷/·þÎñÆ÷)½á¹¹£¬ÊÇËæ×ÅInternet¼¼ÊõµÄÐËÆð£¬¶ÔC/S½á¹¹µÄÒ»Öֱ仯 ......