[ASM/C/C++]cÓïÑÔÖÐstatic Ó÷¨×ܽá
¼ÙÉèÔÚtest.hÖж¨ÒåÁËÒ»¸östatic bool g_test=false;
Èôtest1.cºÍtest2.c¶¼°üº¬test.h£¬Ôòtest1.cºÍtest2.c·Ö±ðÉú³ÉÁ½·Ýg_test£¬ÔÚtest1.c ÖÐÖÃg_test=true,¶øtest2.cÖÐÈÔȻΪfalse²¢Î´¸Ä±ä£¡shit£¡£¡
Ò»¡¢c³ÌÐò´æ´¢¿Õ¼ä²¼¾Ö
C³ÌÐòÒ»Ö±ÓÉÏÂÁв¿·Ö×é³É£º
1£©ÕýÎĶΗ—CPUÖ´ÐеĻúÆ÷Ö¸Á·Ö£»Ò»¸ö³ÌÐòÖ»ÓÐÒ»¸ö¸±±¾£»Ö»¶Á£¬·ÀÖ¹³ÌÐòÓÉÓÚÒâÍâʹʶøÐÞ¸Ä×ÔÉíÖ¸Á
2£©³õʼ»¯Êý¾Ý¶Î£¨Êý¾Ý¶Î£©——ÔÚ³ÌÐòÖÐËùÓи³Á˳õÖµµÄÈ«¾Ö
±äÁ¿
£¬´æ·ÅÔÚÕâÀï¡£
3£©·Ç³õʼ»¯Êý¾Ý¶Î£¨bss¶Î£©——ÔÚ³ÌÐòÖÐûÓгõʼ»¯µÄÈ«¾Ö±äÁ¿
£»Äں˽«´Ë¶Î³õʼ»¯Îª0¡£
4£©Õ»——Ôö³¤·½Ïò£º×Ô¶¥ÏòÏÂÔö³¤£»×Ô¶¯±äÁ¿
ÒÔ¼°Ã¿´Îº¯Êýµ÷ÓÃʱËùÐèÒª±£´æµÄÐÅÏ¢£¨·µ»ØµØÖ·£»»·¾³ÐÅÏ¢£©¡£
5£©¶Ñ——¶¯Ì¬´æ´¢·Ö¡£
|-----------|
| |
|-----------|
| Õ» |
|-----------|
| | |
| |/ |
| |
| |
| /| |
| | |
|-----------|
| ¶Ñ |
|-----------|
| δ³õʼ»¯ |
|-----------|
| ³õʼ»¯ |
|-----------|
| ÕýÎĶΠ|
|-----------|
¶þ¡¢ ÃæÏò¹ý³Ì³ÌÐòÉè¼ÆÖеÄstatic
1. È«¾Ö¾²Ì¬±äÁ¿
ÔÚÈ«¾Ö±äÁ¿
֮ǰ¼ÓÉϹؼü×Östatic
£¬È«¾Ö±äÁ¿
¾Í±»¶¨Òå³ÉΪһ¸öÈ«¾Ö¾²Ì¬±äÁ¿
¡£
1£©ÄÚ´
Ïà¹ØÎĵµ£º
(Ò»)ÕûÊý·ûºÅµÄÏÝÚå
(¶þ)¸¡µãÊýµÄ±¾ÖÊ
(Èý)¶ÑÕ»µÄÄÚ´æ¹ÜÀí½á¹¹
(ËÄ)·ûºÅ½âÎö
(Îå)¶ÔÆëºÍ×ÜÏß´íÎó
(Áù)º¯ÊýÖ¸Õë
(Æß)Ð麯ÊýµÄʵÏÖ»úÀí
(°Ë)ÒýÓõÄʵÏÖ»úÀí
(¾Å)ÐéÄâ¼Ì³Ð¶ÔÏóµÄÄÚ´æ½á¹¹
(Ê®)»ìºÏ±à³ÌʱµÄ³õʼ»¯Ë³Ðò
(ʮһ)Êý×éºÍÖ¸ÕëµÄÒìͬ ......
1. ´´½¨ÀàÐÍΪWin-32 Static LibraryµÄ¹¤³Ì£º
£¨1£©Ìîд¹¤³ÌÃû³Æ£¬¹¤³ÌÃû³Æ²»ÓëÒѾ´æÔÚ¿âÃûÏàͬ¼´¿É£¬Èçmylib£»
£¨2£©Ä¬ÈÏÅäÖã¬Ö±½Óµã»÷Íê³É¡¢È·¶¨£»
£¨3£©ÔÚÕâ¸ö¹¤³ÌÏÂн¨Ò»¸öÀàÐÍΪC/C++ Header FileµÄÎļþ£¬ÎļþÃûΪliwenying.h£»
£¨4£©ÔÚliwenying.hÏÂÃæÊäÈë´úÂë
......
²Ëµ¥ºÍ¼ÓËÙ¼üÃÜÇеØÁªÏµÔÚÒ»Æð¡£ÕâÁ½ÖÖ×ÊÔ´ÀàÐÍÁªÊÖÐ×÷£¬ÈÃÓû§ÄܸüÈÝÒ×µØÍê³ÉÈÎÎñ¡£´ó¼Ò¶¼ÖªµÀ²Ëµ¥ÊÇʲô——ËüÊÇ·Ö²ãÃüÁî½á¹¹µÄÎïÀí±íʾ¡£¼ÓËÙ¼üÌṩ¸Ã½á¹¹µÄ¿ì½Ý·½Ê½£¬ÒÔÌá¸ßÓû§²Ù×÷µÄËÙ¶È¡£ÀýÈ磬Ҫ´´½¨Ò»¸öÐÂÎļþ£¬Í¨³£ÓÃFile | New£¨Îļþ|н¨£©ÃüÁî»òCTRL-N¼ÓËÙ¼ü£¬Á½ÖÖ·½·¨¿ÉÒÔ²úÉúÏàͬµÄ½á¹û¡£
Visua ......
ÒÔÏ´úÂëÑÝʾÈçºÎÓÃCÀ´Ä£Äâ¶à̬¡£gcc°æ±¾£º3.4.4
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stddef.h>
#ifndef class
#define class struct
#endif
#ifndef private
  ......
×î½ü¹¤×÷²»½ô£¬³é¿Õ¿´ÁËÏÂC¡¢C++µÄÖ¸Õ룬·¢ÏÖÁËһЩƽʱûעÒâµ½µÄÖ¸ÕëÓ÷¨ºÍÎÊÌâ¡£
1¡¢Ö¸ÕëÒýÓÃ
void func1£¨MYCLASS* &pBuildingElement£©£»
Õ§Ò»¿´£¬¹Ö¹ÖµÄ£¬¿´ÁËϽâÊÍ£¬Ï¸ÏëһϺÍÖ¸ÕëµÄÖ¸ÕëÀàËÆ£º
void func1£¨MYCLASS** pBuildingElement£©£»
¿´ÏÂÃæµÄÀý×Ó£º
...
MyClass* p = new MyClass;
func1(p);
......