DS¼Æ»®CÉîÈëѧϰÏîÄ¿£º¡¾×ܽ᡿¡¾±äÁ¿¡¿±äÁ¿µÄ´æ´¢Óò
Èç¹ûÒª¼ÓÈë´Ë¼Æ»®:
1¡¢
·½Ê½1
£º¼ÓÈë
QQ
Ⱥ£º
93684322
¡£
2¡¢
·½Ê½2
£º¼ÓÈë
CSDN
Ⱥ×飺
DS¼Æ»®
¡£
1.1 ±äÁ¿´æ´¢Óò
1.1.1 Ò»¸öʾÀý
pang123huiÊ×ÏÈÌṩÁËÒ»¸öÍøÉÏÁ÷´«µÄѧϰ´úÂëʾÀý£º
int a = 0; //È«¾ÖÇø
void main()
{
int b; //Õ»
char s[] = “abc”; //sÔÚÕ»,abcÔÚÎÄ×Ö³£Á¿Çø
char *p1,*p2; //Õ»
char *p3 = "123456"; //123456ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ
static int c =0; //È«¾ÖÇø
p1 = (char *)malloc(10); //p1ÔÚÕ»£¬·ÖÅäµÄ10×Ö½ÚÔÚ¶Ñ
p2 = (char *)malloc(20); //p2ÔÚÕ»£¬·ÖÅäµÄ20×Ö½ÚÔÚ¶Ñ
strcpy(p1, "123456"); //123456·ÅÔÚ³£Á¿Çø
}
Õâ¸ö´úÂëʾÀýÖгöÏÖÁ˓ȫ¾ÖÇø”£¬“Õ»”£¬“ÎÄ×Ö³£Á¿Çø”£¬“¶Ñ”µÈ´ÊÓΪÁËͳһ£¬ÎÒÃÇʹÓá¶Cר¼Ò±à³Ì¡·ÖеÄ˵·¨£º¶ÑÕ»¶Î£¬BSS¶Î£¬Êý¾Ý¶Î£¬Îı¾¶Î¡£
¸÷¸ö¶ÎµÄ×÷ÓÃÈçÏ£º
1¡¢ Îı¾¶Î£º°üº¬³ÌÐòµÄÖ¸ÁËüÔÚ³ÌÐòµÄÖ´Ðйý³ÌÖÐÒ»°ã²»»á¸Ä±ä¡£
2¡¢ Êý¾Ý¶Î£º°üº¬Á˾¹ý³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿£¬ÒÔ¼°ËûÃǵÄÖµ¡£
3¡¢ BSS¶Î£º°üº¬Î´¾³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿¡£
4¡¢ ¶ÑÕ»¶Î£º°üº¬Á˺¯ÊýÄÚ²¿ÉùÃ÷µÄ¾Ö²¿±äÁ¿¡£
µ±È»£¬ÉÏÃæ¶ÎµÄ×÷Óò»½öÓÚ´Ë£¬¾ßÌåµÄ×÷ÓûáÔÚÏÂÃæµÄ֪ʶµãÖнéÉÜ¡£
1.1.2 ͨ¹ý´úÂë²âÊÔ±äÁ¿µÄ´æ´¢Î»ÖÃ
LinuxÏ¿ÉÒÔͨ¹ýϵͳÃüÁî“size”²é¿´¿ÉÒÔÖ´ÐгÌÐò¸÷¸ö¶ÎµÄ´óС¡£µ«ÊÇ£¬¿ÉÖ´ÐгÌÐòÖеĶνṹºÍÔËÐÐÖгÌÐòÔÚÄÚ´æÖеĶνṹ²¢²»ÍêÈ«Ïàͬ£¬µ«ÊÇÓÐÒ»¶¨µÄÓ³Éä¹ØÏµ¡£¾ßÌåÈçÏÂͼËùʾ£¨Í¼Æ¬ÐÅÏ¢À´×Ô¡¶Cר¼Ò±à³Ì¡·£©£º
ÏÂÃæÍ¨¹ý´úÂëʾÀýºÍ“size”À´Ñо¿±äÁ¿µÄ´æ´¢ÇøÓò¡£
test.c
int main()
{
return 1;
}
±àÒ룬²¢ÇҲ鿴¿ÉÖ´ÐгÌÐò¸÷¸ö¶ÎµÄ´óС£º
¸ü¸Ätest.c£º
int g_data;
int main()
{
return 1;
}
±àÒ룬²¢ÇҲ鿴¿ÉÖ´ÐгÌÐò¸÷¸ö¶ÎµÄ´óС£º
¿ÉÒÔ·¢ÏÖ£¬Îı¾¶Î£¬Êý¾Ý¶Î¶¼Ã»Óз¢Ëͱ仯£¬¶øBSS¶ÎÔö¼ÓÁË4¸ö×Ö½Ú¡£
½áÂÛ1£ºÎ´³õʼ»¯µÄÈ«¾Ö±äÁ¿±£´æÔÚBSS¶ÎÖÐ
¼ÌÐø£º
int g_data = 1;
int main()
{
return 1;
}
±àÒ룺
¿ÉÒÔ·¢ÏÖ£¬BSS¶ÎºÍÎı¾¶ÎÏàͬ£¬¶øÊý¾Ý¶ÎÔö¼ÓÁË4¸ö×Ö½Ú¡£
½áÂÛ2£º¾¹ý³õʼ»¯µÄÈ«¾Ö±äÁ¿±£´æÔÚÊý¾Ý¶ÎÖÐ
¼ÌÐø£º
int main()
{
static int g_data;
return 1;
}
±àÒ룺
¿ÉÒÔ·¢Ï
Ïà¹ØÎĵµ£º
±ÈÈç ÊäÈë1.9»áÏÔʾ1.899999 ÀàËÆµÄÎÊÌâ
ÓÉÓÚCÓïÑÔÖжÔÓÚ¸¡µãСÊýµÄ±í´ï·½Ê½µÄ¾ÖÏÞµ¼Öµġ£CÓïÑÔÖÐ10½øÖÆÐ¡ÊýÊÇÖ±½ÓÓÃ2½øÖÆÐ¡ÊýÀ´±íʾµÄ¡£ÓÉÓÚijЩ10½øÖÆÐ¡Êý¸ù±¾ÎÞ·¨ÓÃ2½øÖÆÐ¡ÊýÀ´¾«È·±í´ï£¬Æ©Èç0.1,µ¼Ö¼ÆËã»ú²»µÃ²»ÓýüËÆµÄÏà²îºÜСµÄ2½øÖÆÐ¡ÊýÀ´±íʾÕâЩ10½øÖÆÐ¡Êý¡£
¼ÈÈ»ÊǽüËÆ£¬¾ÍÒ» ......
Èç¹ûC++µ÷ÓÃÒ»¸öCÓïÑÔ±àдµÄ.DLLʱ£¬µ±°üÀ¨.DLLµÄÍ·Îļþ»òÉùÃ÷½Ó¿Úº¯Êýʱ£¬Ó¦¼Óextern "C" {¡¡}¡£
È磺
Í·ÎļþcExample.h
#include <stdio.h>
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
int add(int x,int y);
#endif
º¯ÊýʵÏÖÎļþcExample.c(×¢ÒâÊÇ.cÎļþ)
#include<stdio.h>
#include "cExample ......
< type="text/javascript">
ÔÎÄÇë¼ûÕâÀï
¡£
GNU
CµÄÒ»´óÌØÉ«£¨È´²»±»³õѧÕßËùÖª£©¾ÍÊÇ__attribute__»úÖÆ¡£__attribute__¿ÉÒÔÉèÖú¯ÊýÊôÐÔ£¨Function
Attribute£©¡¢±äÁ¿ÊôÐÔ£¨Variable Attribute£©ºÍÀàÐÍÊôÐÔ£¨Type Attribute£©¡£
__attribute__ÊéÐ´ÌØÕ÷ÊÇ£º__attribute__ǰºó¶¼ÓÐÁ½¸öÏ»® ......
Ñ¡ÔñÅÅÐò·¨ÀàËÆÎÒÃÇÈËΪµÄÅÅÐòϰ¹ß£º´ÓÊý¾ÝÖÐÑ¡Ôñ×îСµÄͬµÚÒ»¸öÖµ½»»»£¬ÔÚ´ÓʡϵIJ¿·ÖÖÐÑ¡Ôñ×îСµÄÓëµÚ¶þ¸ö½»»»£¬ÕâÑùÍù¸´ÏÂÈ¥……
Ñ¡ÔñÅÅÐòµÄƽ¾ùʱ¼ä¸´ÔӶȱÈðÅÝÅÅÐòµÄÉÔµÍ:
ͬÑùÊý¾ÝµÄÇé¿öÏ£¬2ÖÖËã·¨µÄÑ»·´ÎÊýÊÇÒ»ÑùµÄ£¬µ«Ñ¡ÔñÅÅÐòÊÇÒ»¶Ô¶àµÄ±È½Ï£¬Ã¿ÌËÖ»½øÐÐ0µ½1´Î½»»»£¬¶øÃ°ÅÝÅÅÐòÊÇÏàÁÚÁ½Á½±È½Ï£ ......