GNU C ANSI C Ò»Ð©Çø±ð
1 ¿É±äÊý¾Ý½á¹¹
struct var_data
{
int len;
char data[0];
};
±éÀúlenºóÊý¾Ý
for(i = 0; i < s.len; i++)
{
printf("%02x",s.data[i]);
}
2 case ·¶Î§Çø¼ä ¡¾x£¬y¡¿
3 Óï¾ä±í´ï
#define min_t (type, x, y) \
({ type __x = (x); type __y = (y); __x < __y ? __x: __y;})
int ia, ib, mini;
float fa, fb, minf;
mini = min_t ( int, ia, ib);
minf = min_f (float, fa, fb);
±ê×¼c£º
#define min (x, y) ((x) < (y) ? (x) : (y))
´úÂëmin ( ++ia, ++ib£© ±»Õ¹¿ªÎª £¨£¨++ia) < (++ib) ? (++ia):(++ib)) ia£¬ib ±»¼ÓÁËÁ½´Î¡£
4 typeof
#define min(x, y) ( {\
const typeof(x) __x = £¨x£©; \
const typeof(y) __y = £¨y£©;\
(void) (&__x ==&__y); \
__x <_ _y ? __x : __y ;})
5 pr_debug ¿É·ÀÖ¹ÔÚ²ÎÊýÑ¡Ïî²»´ú±íÈκβÎÊýµÄʱºò ²»Êä³ö£¬¡£
6 ¿ÉÖ¸¶¨·¶Î§³õʼ»¯Êý×é unsigned char data [MAX] = { [0 ... MAX - 2] = 0};
½á¹¹Ìå³ÉÔ±³õʼ»¯½á¹¹Ì壺
struct file_operations ext2_file_operations =
{
llseek:generic_file_llseek,
read: generic_file_read,
}
ͬÑù£¬±ê×¼c£º
struct file_operations ext2_file_opreations =
{
.llseek = generic_file_llseek,
.read = generic_file_read,
}
.....
Ïà¹ØÎĵµ£º
ÕâÁ½Ì죬¸ø×Ô¼ºµçÄÔŪÁË˫ϵͳ£¬³ýÁËÔÀ´µÄWindows 7ϵͳÍ⣬װÉÏÁËLinuxϵͳ£¬Ê¹Óõİ汾ÊÇUbuntu
£¨µã
»÷¿Éµ½ÏàÓ¦µÄÏÂÔØÒ³Ãæ£©¡£¿ªÊ¼ÎÒ×°µÄLinux°æ±¾ÊÇfedora9£¬¶ÔÓÚÒ»¸ö¸ù±¾Ã»½Ó´¥¹ýLinuxϵͳµÄÈ˶øÑÔ£¬Ê¹ÓÃfedora£¬¼òÖ±ÈÃÈ˱ÀÀ£¡£¸ü
±ÀÀ£µÄÊÇ£¬ÎÒÓõÄÓ¢Îİ档ûµÄ°ì·¨£¬ÓÖÖØÐÂÏÂÔØLinux£¬¿Ìµú¡£×°ÏµÍ³¡£×°ÏµÍ³µÄʱºò ......
ÍøÉÏÓÐºÃ¶àÆªÎÄÕ½²ÈçºÎÅäÖÃ.vimrcÎļþÀ´ÊµÏÖVIMÀïÒ»¼ü±àÒ룬¿´ÁËһϱȽϸ´ÔÓ¡£ÎÒÒ»°ãûÓÐʲô´óµÄ³ÌÐòҪд£¬Ò»°ãµÄС³ÌÐòµ¥¸öCÎļþ¾Í¸ãµàÁË£¬ËùÒÔ¼ò»¯ÁËÒ»ÏÂÍøÉϵÄÅäÖã¬ÔÚ.vimrcÀï¼ÓÉÏÁ½ÐоÍÂú×ãÎÒµÄÐèÇóÁË¡£
set makeprg=gcc\ -Wall\ -o\ %<\ %
map <F7> :make<CR ......
×ªÔØ×Ô£ºhttp://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html
VC±àÒëÑ¡Ïî ¶àÏß³Ì(/MT)
¶àÏ̵߳÷ÊÔ(/MTd)
¶àÏß³Ì DLL (/MD)
¶àÏ̵߳÷ÊÔ DLL (/MDd)
C ÔËÐÐʱ¿â   ......
×ªÔØ×Ô£ºhttp://www.cnblogs.com/chio/archive/2007/11/26/972152.html
CRTÔÏÈÊÇÖ¸Microsoft¿ª·¢µÄC Runtime Library£¬ÓÃÓÚ²Ù×÷ϵͳµÄ¿ª·¢¼°ÔËÐС£ºóÀ´ÔÚ´Ë»ù´¡ÉÏ¿ª·¢ÁËC++ Runtime Library£¬ËùÒÔÏÖÔÚCRTÊÇÖ¸Microsoft¿ª·¢µÄC/C++ Runtime Library¡£ÔÚVCµÄCRT/SRCĿ¼Ï£¬¿ÉÒÔ¿´µ½CRTµÄÔ´Â룬²»½öÓÐCµÄ£¬Ò²ÓÐC++µ ......