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,
}
.....
Ïà¹ØÎĵµ£º
/* find files from wildcards, for MicroSoft C v4.0 */
/* ------------------------------------------------------------ */
/* copyright 1986: */
/* Nourse Gregg & Browne, Inc. */
/* 1 Horizon Road. #612 ......
ÕâÁ½Ì죬¸ø×Ô¼ºµçÄÔŪÁË˫ϵͳ£¬³ýÁËÔÀ´µÄWindows 7ϵͳÍ⣬װÉÏÁËLinuxϵͳ£¬Ê¹Óõİ汾ÊÇUbuntu
£¨µã
»÷¿Éµ½ÏàÓ¦µÄÏÂÔØÒ³Ãæ£©¡£¿ªÊ¼ÎÒ×°µÄLinux°æ±¾ÊÇfedora9£¬¶ÔÓÚÒ»¸ö¸ù±¾Ã»½Ó´¥¹ýLinuxϵͳµÄÈ˶øÑÔ£¬Ê¹ÓÃfedora£¬¼òÖ±ÈÃÈ˱ÀÀ£¡£¸ü
±ÀÀ£µÄÊÇ£¬ÎÒÓõÄÓ¢Îİ档ûµÄ°ì·¨£¬ÓÖÖØÐÂÏÂÔØLinux£¬¿Ìµú¡£×°ÏµÍ³¡£×°ÏµÍ³µÄʱºò ......
1¡¢CÓïÑÔµÄÏîÄ¿ÄÚ´æ¹ÜÀíºÜÈÃÈËÍ·ÌÛ£¬×ÔʼÖÁÖÕÄãÒªÃ÷°×ÄÄЩÄÚ´æÓ¦¸ÃÒªÊÍ·Å£¬ÄÄЩµ½×îºó²ÅÄÜÊÍ·Å£¬²»È»µÄ»°£¬¾Í»á³öÏÖһЩ¶Ñ±»ÆÆ»µµÄ´íÎó
2¡¢Ã¿Ð´Ò»¸öº¯ÊýÒ»¶¨Òª¼ÇµÃдËüµÄ²âÊÔ³ÌÐò£¬²»¹ÜÄǸöº¯Êý¼òµ¥µÄ»¹ÊǸ´ÔÓ£¬²»È»µÄ»°£¬µ½×îºó»áæËÀÄ㣬ÓÐʱ»¹»á·¸Ò»Ð©µÍ¼¶µÄ´íÎó¡£Õâ¸ö½ÌѵÎҾͷ¸¹ý£¬Ð´ÁËÒ»´ó¶ÑUtility¹¤¾ßº¯Êý¿â£¬Ò»¸ö ......
B/S½á¹¹£¨Browser/Server½á¹¹£©½á¹¹¼´ä¯ÀÀÆ÷ºÍ·þÎñÆ÷½á¹¹¡£ËüÊÇËæ×ÅInternet¼¼ÊõµÄÐËÆð£¬¶ÔC/S½á¹¹µÄÒ»Öֱ仯»òÕ߸ĽøµÄ½á¹¹¡£ÔÚÕâÖֽṹÏ£¬Óû§¹¤×÷½çÃæÊÇͨ¹ýWWWä¯ÀÀÆ÷À´ÊµÏÖ£¬¼«ÉÙ²¿·ÖÊÂÎñÂß¼ÔÚǰ¶Ë£¨Browser£©ÊµÏÖ£¬µ«ÊÇÖ÷ÒªÊÂÎñÂß¼ÔÚ·þÎñÆ÷¶Ë£¨Server£©ÊµÏÖ£¬ÐγÉËùνÈý²ã3-tier½á¹¹¡£ÕâÑù¾Í´ó´ó¼ò»¯Á˿ͻ§¶ËµçÄÔÔØ ......
extern "C" ÊÇ C++ ±àÒëÆ÷Ö§³ÖµÄÒ»ÖÖÁ´½Óָʾ·û£¨linkage directive£©£¬Ëü±íʾÓÉÆäÉùÃ÷µÄº¯ÊýʹÓà C ÓïÑԵķ½Ê½±àÒëºÍÁ´½Ó¡£
C ºÍ C++ ¶Ôº¯Êý±àÒëºó²úÉúµÄ·ûºÅÃûÊDz»Ò»ÑùµÄ¡£¼ÙÉèÒ»¸öº¯ÊýµÄÔÐÍΪ:
void foo(int x, int y);
ÓÉ C ±àÒëÆ÷±àÒëºó²úÉúµÄ·ûºÅÃûΪ _foo£¬¶ø C++ ÓÉÓÚÖ§³ÖÖØÔØµÄÐèÒª£¬±àÒëºóµÄ·ûºÅà ......