CºÍC£«£«»ìºÏ±à³ÌÏà¹ØÎÊÌâ½â¾ö·½·¨
Ò» £º½â¾öC»òC++ÖеÄmultiple definition ofÎÊÌâ
server.cpp
clientp2p.cpp
#include "exception.h"
#include "clientp2p.h"
clientp2p.h
ÖÐдÓÐËùÓеÄÈ«¾Ö±äÁ¿¼°Æä³õʼ»¯Öµ
ºÍº¯ÊýÉùÃ÷
1.server.cppÖУº
ÒýÓÃ
£º
#include "clientp2p.h"
int Main(....)
{
...
}
2.clientp2p.cpp
ÖУ¬
Ò²ÒýÓÃ
£º
#include
"clientp2p.h"
....
3. file_2.cpp
#include "global.h"
...
G£«£«ÔÚ±àÒëµÄʱºò¾Í»á³ö´í£º
clientp2p.o:(.bss+0x0): multiple definition of `ClientList'
server.o:(.bss+0x0): first defined here
ÔÒòÊÇÒòΪÔÚ¶à´Î°üº¬
clientp2p
.hÊ±ÖØ¸´¶¨ÒåÁ˱äÁ¿ºÍº¯Êý¡£
½â¾ö·½·¨£º
·½·¨Ò»£º
ÔÚ
clientp2p
.c£¨»ò.cpp) ÖÐÉùÃ÷±äÁ¿£¨²»³õʼ»¯£©£¬È»ºóÍ·Îļþ
clientp2p
.hÖÐÔÚËùÓеıäÁ¿ÉùÃ÷ǰ¼ÓÉÏextern
Èç extern int flag;
È»ºóÔÚÆäËûÐèҪʹÓÃÈ«¾Ö±äÁ¿µÄ cppÎļþÖаüº¬.h Îļþ¶ø²»Òª°üº¬ .cpp Îļþ¡£±àÒëÆ÷»áΪglobal.cpp Éú³ÉÄ¿±êÎļþ£¬È»ºóÁ¬½Óʱ£¬ÔÚʹÓÃÈ«¾Ö±äÁ¿µÄÎļþÖоͻáÁ¬½Óµ½´ËÎļþ ¡£
·½·¨¶þ£º
ÔÚ
clientp2p
.hÖмÓÈë·ÀÖ¹¶à´ÎÖØ¸´¶¨ÒåµÄºêÅжϷûºÅ
ÄãµÄ.HÀïÃæÒª¼ÓÉÏÌõ¼þ±àÒë
#ifndef GLOBAL
#define GLOBAL
XXXXX
XXXXX
#endif
¼Çס£ºÔÚifndefʱһ¶¨ÒªÔÚµÚÒ»ÐУ¬Ç°±ß²»ÒªÓÐÈκεÄ×¢ÊÍ»òÓï¾ä¡£
¶þ:
undefined reference to `std::ios_base::Init::Init() ½â¾ö
ÔÚlinuxϱàÒëc++ ³ÌÐòҪʹÓÃg++ ±àÒëÆ÷,Èç¹ûÄãÒªÊÇʹÓÃgcc±àÒëÆ÷¾Í»áÓÐÉÏÃæµÄ±¨´íÐÅÏ¢,Ö»ÒªÔÚÔÚgccºó¼ÓÉÏ -lstdc++¾ÍokÁË
eg: gcc example.c -lstdc++
Ïà¹ØÎĵµ£º
ÎÒÒ»Ö±Ïë×öÒ»¸öÈí¼þ³öÀ´£¬Ö»ÊǼòµ¥µÄ£¬±ÈÈç˵һ¸ö¼Ó¼õ³Ë³ýµÄEXE¡£¿ÉÊÇÎÒÖªµÀÎÒ´íÁË£¬ÎÒ×î½üÑ¡ÐÞÁËÒ»Ãŵç×Ó¹¤³ÌÉè¼ÆÓëÖÆ×÷ºó²ÅÁ˽â±à³ÌµÄÄ¿µÄºÍ¹¤¾ßµÄ¶àÑùÐÔ¡£²»Í¬µÄÈí¼þÌṩ²»Í¬µÄ±àÒë»·¾³£¬ÎÒ·¢ÏÖÄ£ÄâÈí¼þµÄÇ¿µÄ¡£ÎÒʱ³£ÏëÎÒÊDz»ÊÇ¿ÉÒÔͨ¹ýÎÒÏÂÔØ°²×°µÄÈí¼þÀ´Ñ§Ï°Ð©Ô´³ÌÐò¡£ÊǵÄÓÐһЩ£¬¿ÉÊÇÍêÈ«¿´²»¶®£¬³ýÁË ......
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
char a = 'a';
......
´ÓÁ½µÀ¾µäÊÔÌâ̸C/C++ÖÐÁªºÏÌ壨union£©µÄʹÓÃ
ÊÔÌâÒ»£º±àдһ¶Î³ÌÐòÅжÏϵͳÖеÄCPUÊÇLittle endian»¹ÊÇBig endianģʽ£¿
·ÖÎö£º
×÷Ϊһ¸ö¼ÆËã»úÏà¹Ø×¨ÒµµÄÈË£¬ÎÒÃÇÓ¦¸ÃÔÚ¼ÆËã»ú×é³ÉÖж¼Ñ§Ï°¹ýʲô½ÐLittle endianºÍBig endian¡£Little endianºÍBig endianÊÇCPU´æ·ÅÊý¾ÝµÄÁ½ÖÖ²»Í¬Ë³Ðò¡£¶ÔÓÚÕûÐÍ¡¢³¤ÕûÐ͵ÈÊý¾ÝÀàÐÍ£ ......
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«Î ......