Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C/C++ µÄÈ«¾Ö±äÁ¿³õʼ»¯Óë²»³õʼ»¯µÄÇø±ð

ÔÚCÓïÑÔÀȫ¾Ö±äÁ¿Èç¹û²»³õʼ»¯µÄ»°£¬Ä¬ÈÏΪ0£¬Ò²¾ÍÊÇ˵ÔÚÈ«¾Ö¿Õ¼äÀ
int x =0; ¸ú int x; µÄЧ¹û¿´ÆðÀ´ÊÇÒ»ÑùµÄ¡£µ«ÆäʵÕâÀïÃæµÄ²î±ðºÜ´ó£¬Ç¿ÁÒ½¨Òé´ó¼ÒËùÓеÄÈ«¾Ö±äÁ¿¶¼Òª³õʼ»¯£¬ËûÃǵÄÖ÷Òª²î±ðÈçÏ£º
±àÒëÆ÷ÔÚ±àÒëµÄʱºòÕë¶ÔÕâÁ½ÖÖÇé¿ö»á²úÉúÁ½ÖÖ·ûºÅ·ÅÔÚÄ¿±êÎļþµÄ·ûºÅ±íÖУ¬¶ÔÓÚ³õʼ»¯µÄ£¬½ÐÇ¿·ûºÅ£¬Î´³õʼ»¯µÄ£¬½ÐÈõ·ûºÅ¡£
Á¬½ÓÆ÷ÔÚÁ¬½ÓÄ¿±êÎļþµÄʱºò£¬Èç¹ûÓöµ½Á½¸öÖØÃû·ûºÅ£¬»áÓÐÒÔÏ´¦Àí¹æÔò£º
1¡¢Èç¹ûÓжà¸öÖØÃûµÄÇ¿·ûºÅ£¬Ôò±¨´í¡£
2¡¢Èç¹ûÓÐÒ»¸öÇ¿·ûºÅ£¬¶à¸öÈõ·ûºÅ£¬ÔòÒÔÇ¿·ûºÅΪ׼¡£
3¡¢Èç¹ûûÓÐÇ¿·ûºÅ£¬µ«Óжà¸öÖØÃûµÄÈõ·ûºÅ£¬ÔòÈÎѡһ¸öÈõ·ûºÅ¡£
»ùÓÚÒÔÉϹæÔò¿´ÏÂÃæµÄ³ÌÐò£º£¨±àÒëÆ÷Ϊgcc 3.4.6£¬ VCϽá¹û²»Ò»Ñù£©
main.cpp
int x;
void foo();
int main(int argc, char* argv[])
{
printf("x1:%d\n", x);
foo();
printf("x2:%d\n", x);
return 0;

var.cpp
int x;
void foo()
{
x = 2;

ÒòΪÁ½¸öÎļþÀïÃæµÄx¶¼±»³õʼ»¯ÁË£¬ËùÒÔ±àÒë³öÀ´µÄÁ½¸öÄ¿±êÎļþÀïx¶¼ÊÇÇ¿·ûºÅ£¬Á¬½ÓµÄʱºò»á±¨´í£º
multiple definition of `x' 
·ûºÏ¹æÔò1¡£
°Ñvar.cppÀïÃæµÄint x = 0;¸Ä³É int x; ²»×ö³õʼ»¯£¬±àÒë¡¢Á¬½ÓÎÞÈκξ¯¸æ£¬ÔËÐнá¹ûΪ£º
x:1
x:2
˵Ã÷Á¬½ÓµÄʱºòÒÔmain.cppÖеÄxΪ׼£¬fooº¯ÊýÐ޸ĵÄÊÇmain.cppÖж¨ÒåµÄx¡£·ûºÏ¹æÔò2¡£
°Ñmain.cppÖеijõʼ»¯Ò²È¥µô£¬¸Ä³É int x; ±àÒë¡¢Á¬½ÓÈÔÈ»ºÜ˳Àû£¬ÔËÐнá¹ûΪ£º
x:1
x:2
˵Ã÷mainº¯ÊýºÍfooº¯ÊýÐ޸ĵÄÊÇͬһ¸öx£¬Á¬½ÓÆ÷×Ô¼ºÑ¡ÔñÁËÒ»¸öx£¬·ûºÏ¹æÔò3.
´ó²¿·ÖÇé¿öÏ£¬ÎÒÃDz»Ï£ÍûÁ¬½ÓÆ÷ΪÎÒÃÇ×ö¾ö¶¨£¬ËùÒÔÎÒ²»ÊǺÜÈÏͬºóÁ½¸ö¹æÔò£¬ÖÁÉÙÓ¦¸Ã¸ø¸ö¾¯¸æ£¬¶ø²»Ó¦¸Ã°²¾²µØÍ¨¹ý¡£
Ò²Ðíдvar.cppµÄÈ˸ù±¾²»ÖªµÀmain.cppÀïÃæÒ²ÓÐÒ»¸öxÄØ£¬fooº¯ÊýµÄ±¾ÒâÒ²Ðí²¢²»ÊÇÒªÐÞ¸Ämain.cppÖеÄx¡£ÒòΪÕâÖÖÎÊÌâÒýÆðµÄbug»áºÜÄѲ顣
ËùÒÔÎÒÃÇÒª¾¡Á¿°ÑÈ«¾Ö±äÁ¿³õʼ»¯£¬¶ÔÓÚ²»Ïë¸ø±ðµÄÎļþÒýÓõıäÁ¿£¬Ò²¾¡Á¿ÓÃstaticÐÞÊΡ£
³ýÁËÁ¬½ÓʱµÄ±íÏÖ²»Ò»ÑùÍ⣬Ϊ³õʼ»¯µÄ·ûºÅÔÚÄ¿±êÎļþµÄbss¶ÎÖУ¬¶ø³õʼ»¯µÄ·ûºÅÔÚdata¶ÎÖС£


Ïà¹ØÎĵµ£º

ÈçºÎÔÚC++Öе÷ÓÃCµÄ´úÂë

ÒÔÇ°Ôø¾­×ܽá¹ýһƪ(http://www.cppblog.com/franksunny/archive/2007/11/29/37510.html
)£¬¹ØÓÚÔÚ
C
ÖÐÈçºÎµ÷ÓÃ
C++
µÄ´úÂ룬µ±Ê±²¢Î´×öÍêÈ«µÄÕ¹¿ª£¬Ö»ÊǼòµ¥µÄ×öÁËϵ÷ÊÔ£¬×î½ü¿´µ½Ò»¸öÌâĿҪÇóʵÏÖ
C
ºÍ
C++
ÖдúÂëµÄ»¥Ïàµ÷Óã¬Æä½á¹ûËäÈ»¶¼ÊÇͨ¹ý
extern “C”
À´ÊµÏÖ
£¬µ«ÊǾßÌ廹ÊÇÓÐЩ²î±ðµÄ¡ ......

C/C++Öеĺ¯Êý²ÎÊý´«µÝ»úÖÆ(×ªÔØ)

 Ò»¡¢ º¯Êý²ÎÊý´«µÝ»úÖÆµÄ»ù±¾ÀíÂÛ ¡¡¡¡º¯Êý²ÎÊý´«µÝ»úÖÆÎÊÌâÔÚ±¾ÖÊÉÏÊǵ÷Óú¯Êý£¨¹ý³Ì£©ºÍ±»µ÷Óú¯Êý£¨¹ý³Ì£©ÔÚµ÷Ó÷¢Éúʱ½øÐÐͨÐŵķ½·¨ÎÊÌâ¡£»ù±¾µÄ²ÎÊý´«µÝ»úÖÆÓÐÁ½ÖÖ£ºÖµ´«µÝºÍÒýÓô«µÝ¡£ÒÔÏÂÌÖÂ۳Ƶ÷ÓÃÆäËûº¯ÊýµÄº¯ÊýΪÖ÷µ÷º¯Êý£¬±»µ÷Óõĺ¯ÊýΪ±»µ÷º¯Êý¡£¡¡¡¡Öµ´«µÝ£¨passl-by-value£©¹ý³ÌÖУ¬±»µ÷º¯ÊýµÄÐÎʽ²Î ......

C/C++ÓïÑÔÖÐStaticµÄ×÷ÓÃÏêÊö

ÔÚCÓïÑÔÖУ¬staticµÄ×ÖÃæÒâ˼ºÜÈÝÒ×°ÑÎÒÃǵ¼ÈëÆç;£¬ÆäʵËüµÄ×÷ÓÃÓÐÈýÌõ¡£
£¨1£©ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ¡£ÎªÀí½âÕâ¾ä»°£¬ÎÒ¾ÙÀýÀ´ËµÃ÷¡£ÎÒÃÇҪͬʱ±àÒëÁ½¸öÔ´Îļþ£¬Ò»¸öÊÇa.c£¬ÁíÒ»¸öÊÇmain.c¡£
ÏÂÃæÊÇa.cµÄÄÚÈÝ
ch ......

function(p,a,c,k,e,d)µÄ½âÃÜ´úÂë

ÍøÂí¼ÓÃÜÖУ¬Ä¿Ç°Óиöfunction(p,a,c,k,e,d)µÄ£¬·Ç³£ÌÖÑᣬÎÒÒ²ÊÇÉî¶ñÍ´¾ø£¬¼ÇµÃÎÒ¸Õ¿ªÊ¼Åöµ½ËüµÄʱºò£¬Æ´ÃüµØ¶Áº¯Êý£¬ÄǸö½ÐÍ´¿à°¡£¬¿Ä¿Ä°í°íµØÃãÇ¿¸ãÁ˳öÀ´¡£½ñÌ죬ͻȻ¿´¼ûÁËfunction(p,a,c,k,e,d)µÄ½âÃÜ´úÂ룬¸ßÐ˶¼À´²»¼°
<script>
a=62;
function encode() {
var code = document.getElementById('code' ......

¡¶±à³ÌÖéçá¡·ÖеÄÎÊÌâÓÃCʵÏÖ——1

ÎÊÌâÃèÊö£ºÒ»Ë³ÐòÎļþÖÐÖÁ¶à´æÔÚ10000000¸ö¼Ç¼£¬Ã¿Ìõ¼Ç¼¶¼ÊÇÒ»¸ö7λÕûÊý£¬Çë¶Ô´ËÎļþÖÐÊý¾Ý½øÐÐÅÅÐò¡£
ÒªÇó£º1.³ÌÐò¿ÉʹÓÃÄÚ´æÖ»ÓÐ1MB¡£2.³ÌÐòÔËÐÐʱ¼ä¾¡¿ÉÄܵĶ̡£
²¹³ä˵Ã÷£ºÃ¿¸ö¼Ç¼¶¼ÊÇÒ»¸ö7λÕýÕûÊý£¬²¢ÇÒûÓÐÆäËûµÄ¹ØÁªÊý¾Ý£¬Ã¿¸öÕûÊýÖÁ¶àÖ»ÄܳöÏÖÒ»´Î¡£
ʵÏÖ¸ÙÒª£º
ÔÚÏÖʵÖУ¬Î»Í¼ºÍλÏòÁ¿ºÜ³£¼û£¬ÎÒÃÇ¿ÉÒÔÊ¹Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ