ubuntu ϵĵÚÒ»¸öC³ÌÐò
ʹÓà gcc ÔÚ ubuntu Ï ±àÒë Ò»¸ö C³ÌÐò £º
µÚÒ»²½Ö裺´ò¿ª ÖÐ¶Ë £¨Õâ¸ö ÖªµÀ°É£¿£©
ÊäÈë sudo gedit no.c (no.cΪCÎļþÃû×Ö)
sudo ±íʾÄãÊäÈëµÄÃüÁî¾ßÓйÜÀíԱȨÏÞ
gedit ±íʾÄãÒª±à¼Ò»¸öÎļþ
on.c¾ÍÊÇÄãÒª±à¼µÄÎļþÁËŶ£¬Èç¹û¸ÃÎļþ²»´æÔÚ£¬ÏµÍ³»áн¨Ò»¸öÎļþµÄ
µÚ¶þ²½Ö裺ÊäÈëC´úÂë²¢±£´æ£¨²»ÒªÓÐÓï·¨´íÎóŶ£©
µÚÈý²½Ö裺ÊäÈë sudo gcc -o no no.c ÕâÑù¾Í»á½øÐбàÒ룬Èç¹û±àÒë³É¹¦Á˾ͽøÐÐÏÂÒ»²½£¬·ñÔò¼ì²é
ÄãµÄ´úÂëÊÇ·ñÓÐ´í £»sudo µÄÒâ˼ºÍÉÏÃæÒ»Ñù ; gccÊDZíʾÓÃGCC±àÒëÆ÷±àÒë ; £o ÊÇÉú³ÉÄ¿±ê
Îļþ £»no ÊÇÄãÒªÉù³ÆµÄÄ¿±êÎļþµÄÃû×Ö£»no.cÊÇÔ´Îļþ£¨¾ÍÊÇÓÃÀ´Éù³ÆÄ¿±êÎļþµÄÔ´Îļþ£©
µÚËIJ½Ö裺Èç¹ûûÓдíÎó£¬Ö´ÐÐ ÕâÒ»¸ö²½Ö裺 ./no ±íʾÔËÐбàÒëºÃµÄÎļþ
ºÃÁË£¬ÒÔÉ϶¼ÊÇÎÒ³õѧ UBUNTUµÄÐĵà ÈçÓÐÀí½â²»¶ÔµÄ£¬ÇëÖ¸³öŶ £¡
Ïà¹ØÎĵµ£º
1.ÉèÓÐÒÔÏÂ˵Ã÷ºÍ¶¨Ò壺
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;
ÔòÓï¾ä printf("%d",sizeof(struct date)+sizeof(max));µÄÖ´Ðнá¹ûÊÇ£º £¿£¿£¿
´ð£ºDATEÊÇÒ»¸öunion, ±äÁ¿¹«Óÿռä. ÀïÃæ×î´óµÄ±äÁ¿ÀàÐÍÊÇint[5], Õ¼ÓÃ20¸ö×Ö½Ú. ËùÒÔËüµÄ´óС ......
C±äÁ¿µÄ´æ´¢·½Ê½-¡°¾²Ì¬´æ´¢¡±ºÍ¡°¶¯Ì¬´æ´¢¡± ±äÁ¿µÄ´æ´¢·½Ê½¿É·ÖΪ¡°¾²Ì¬´æ´¢¡±ºÍ¡°¶¯Ì¬´æ´¢¡±Á½ÖÖ¡£ ¾²Ì¬´æ´¢±äÁ¿Í¨³£ÊÇÔÚ±äÁ¿¶¨Òåʱ¾Í·Ö¶¨´æ´¢µ¥Ôª²¢Ò»Ö±±£³Ö²»±ä£¬Ö±ÖÁÕû¸ö³ÌÐò½áÊø¡£È«¾Ö±äÁ¿¼´ÊôÓÚ´ËÀà´æ´¢·½Ê½¡£¶¯Ì¬´æ´¢±äÁ¿ÊÇÔÚ³ÌÐòÖ´Ðйý³ÌÖУ¬Ê¹ÓÃËüʱ²Å·ÖÅä´æ´¢µ¥Ôª£¬Ê¹ÓÃÍê±ÏÁ¢¼´ ......
ÔÚC/C++ÖУ¬ÄÚ´æÖÐÊý¾Ý´æ´¢·Ö³É4¸öÇø£¬·Ö±ðÊǶѡ¢Õ»¡¢È«¾Ö/¾²Ì¬´æ´¢ÇøºÍ³£Á¿´æ´¢Çø¡£
Õ»(stack)£¬¾ÍÊÇÄÇЩÓɱàÒëÆ÷ÔÚÐèÒªµÄʱºò·ÖÅ䣬ÔÚ²»ÐèÒªµÄʱºò×Ô¶¯Çå³ýµÄ±äÁ¿µÄ´æ´¢Çø¡£ÀïÃæµÄ±äÁ¿Í¨³£ÊǾֲ¿±äÁ¿¡¢º¯Êý²ÎÊýµÈ¡£
¶Ñ(heap)£¬Ò»°ãÓ ......
#include <stdio.h>
struct Foo1
{
char a;
int b;
char c;
int d;
};
#pragma pack (2)
struct Foo2
{
char a;
int b;
char c;
int d; ......
ÈçºÎÀí½âC run-time library £¨CÔËÐÐʱ¿â£©
×¢£º ÒÔÏÂÄÚÈݲ¿·ÖÒý×ÔCSNDÖÐÏà¹ØÌÖÂÛµÄÌû×Ó£¬²¢½áºÏ×Ô¼ºµÄÀí½âÕûÀí¶ø³É¡£½ö¹©²Î¿¼¡£
1)ÔËÐÐʱ¿â¾ÍÊÇ C run-time library£¬ÊÇ C ¶ø·Ç C++ ÓïÑÔÊÀ½çµÄ¸ÅÄî:È¡Õâ¸öÃû×Ö¾ÍÊÇÒòΪÄãµÄ C ³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý.
2)C ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´Ë ......