cÖÐ extern ºÍ static À§»ó£¡ - C/C++ / CÓïÑÔ
ÔÚfile1.cÖÐÉùÃ÷AµÄʱºò¼ÓÁËstatic£¬ÎªÊ²Ã´ÔÚfile.hÖеÄf()º¯Êý»¹Äܹ»·ÃÎÊAµÄÖµ£¿£¿£¿£¿
//file1.c
#include <stdio.h>
#include "file.h"
static int A = 3;
void main() {
f();
}
//file.h Í·Îļþ
#ifndef _FILE_H
#define _FILE_H
extern int A;
void f() {
printf("%d", A*3);
}
#endif
ʲô±àÒëÆ÷£¿Ê²Ã´ÏµÍ³£¿
¿´¿´AµÄÁ¬½ÓÊôÐÔÔÙ˵°É¡££¨unixÏ¿ÉÒÔÓÃnm£¬windowsÏ¿ÉÒÔÓÃdumpbin£©
ÊÇwindowsÏÂ vc6.0
ÄǾÍdumpbin¿´¿´°É¡£vc¾³£×öһЩΥ±³±ê×¼µÄÊ¡£
ÄǾÍÊDZàÒëÆ÷µÄÎÊÌâÁË£¡ ÔÔòÉϱ¾À´ÊDz»ÄÜ·ÃÎʵģ¡
¿ÉÄÜ»¹ÓÐÒ»¸öÈ«¾ÖµÄA
ÎļþÔ´Âë¾ÍÊÇÉÏÃæµÄÕâЩ£¡
Ó¦¸ÃÓÐÈ«¾ÖµÄA
extern int A;
ÓÐÁËÕâ¾äÓ¦¸Ã¾Í¿ÉÒÔ·ÃÎʰÉ
µ±È»ÊÇ¿ÉÒÔ·ÃÎʵġ£
ÒòΪfile.hÊDZ»file1.c #include µÄ£¬ÔÚͬһ±àÒëµ¥ÔªÄÚ£¬×ÔÈ»¿ÉÒÔ·ÃÎʵ½file1.cÀïµÄ
static int A = 3;
C/C++ code:
/* ÓÃnm¿ÉÒÔ°ïÖúÀí½âÈýÖÖ²»Í¬µÄÐÎʽµÄ±äÁ¿ËµÃ÷£º*/
int x; /* C (Common) ÉùÃ÷£¨¿ÉÄÜͬʱҲ¶¨Ò壩±äÁ¿£¬ µ½ÁËÁ´½Ó½×¶Î£¬ */
/* 1. Èç¹ûûÔÚÆäËûÄ£¿é·¢ÏÖͬÃû(D)·ûºÅ£¬×÷Ϊδ³õʼ»¯µÄÈ«¾Ö±äÁ¿£¬ ·ÅÔÚBSS */
/* 2. Èç¹ûÓÐÔÚÆäËûÄ£¿é·¢ÏÖͬÃû(D)·ûºÅ£¬×÷ΪÒѳõʼ»¯µÄÈ«¾Ö±äÁ¿£¬ ·ÅÔÚÊý¾Ý¶Î */
int y = 1; /* D (Data) ¶¨Òå±äÁ¿£¬×÷ΪÒѳõʼ»¯µÄÈ«¾Ö±äÁ¿£¬ ·ÅÔÚÊý¾Ý¶
Ïà¹ØÎÊ´ð£º
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......
ΪʲôÎҵijÌÐòµ÷ÓÃXMLÅäÖÃÎļþÖеİ¢À²®ÎÄÏÔʾ²»³öÀ´£¿ÆäËûµÄÓïÖÖ¶¼¿ÉÒÔ£¬ÈçÖÐÎÄ£¬Ó¢ÎÄ£¬µÂÎͼ¿É¡£
ÎÒ½«XMLµÄ±àÂë¸ÄΪutf-8ºÍunicodeµÄµ½µÃ½á¹û¶¼Ò»Ñù.
°¢À²®ÎĵÄ×Ö¿âÄãÓÐô£¿
ÓÐ,ÎÒµÄEXEÊÇ·ÅÔÚpc»úÉÏÖ´Ðе ......
ÊäÈë10ѧÉúµÄ³É¼¨£¬¹²4¿Æ£¬°´ÕÕÒªÇó±àдʵÏÖÏÂÁй¦ÄܵijÌÐò£¨ÓÃ×Óº¯ÊýʵÏÖ£©
1 Çó³öÿ¿ÆµÄƽ¾ù³É¼¨ ½«Æ½¾ù·Ö¡µ90µÄͬѧµÄÅÅÐò
×÷ÒµÌù~£¡
àÅ ÎÒͬѧ¸øÎÒ·¢µÄ×÷Òµ ÎÒ×òÌì×öÁË µ«Êǽá¹ûÔËÐв»¶Ô ×òÌìÓкö ......