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,
}
.....
Ïà¹ØÎĵµ£º
1£®¸ÅÄî
ÔÚC/C++ÖУ¬¶Ô×Ö·û´®µÄ²Ù×÷ÓкܶàÖµµÃ×¢ÒâµÄÎÊÌ⣬ͬÑù£¬C/C++¶Ôʱ¼äµÄ²Ù×÷Ò²ÓÐÐí¶àÖµµÃ´ó¼Ò×¢ÒâµÄµØ·½¡£×î½ü£¬ÔÚ¼¼ÊõȺÖÐÓкܶàÍøÓÑÒ²¶à´ÎÎʵ½¹ýC++ÓïÑÔÖжÔʱ¼äµÄ²Ù×÷¡¢»ñÈ¡ºÍÏÔʾµÈµÈµÄÎÊÌâ¡£ÏÂÃæ£¬ÔÚÕâÆªÎÄÕÂÖУ¬±ÊÕß½«Ö÷Òª½éÉÜÔÚC/C++ÖÐʱ¼äºÍÈÕÆÚµÄʹÓ÷½·¨. ......
B/S½á¹¹£¨Browser/Server½á¹¹£©½á¹¹¼´ä¯ÀÀÆ÷ºÍ·þÎñÆ÷½á¹¹¡£ËüÊÇËæ×ÅInternet¼¼ÊõµÄÐËÆð£¬¶ÔC/S½á¹¹µÄÒ»Öֱ仯»òÕ߸ĽøµÄ½á¹¹¡£ÔÚÕâÖֽṹÏ£¬Óû§¹¤×÷½çÃæÊÇͨ¹ýWWWä¯ÀÀÆ÷À´ÊµÏÖ£¬¼«ÉÙ²¿·ÖÊÂÎñÂß¼ÔÚǰ¶Ë£¨Browser£©ÊµÏÖ£¬µ«ÊÇÖ÷ÒªÊÂÎñÂß¼ÔÚ·þÎñÆ÷¶Ë£¨Server£©ÊµÏÖ£¬ÐγÉËùνÈý²ã3-tier½á¹¹¡£ÕâÑù¾Í´ó´ó¼ò»¯Á˿ͻ§¶ËµçÄÔÔØ ......
windows7 + ubuntu9.10Ë«Æô¶¯,Õâ¸öÓÐÌ«¶àµÄÌû×ÓÁË,²»¹ýÕâ´ÎµÄÇé¿ö±È½Ï¸´ÔÓ.
ÏÈ×°µÄWIN7,ºó×°UBUNTU,ûÓÐÈκÎÎÊÌâ.GRUBË«Æô¶¯.
ºóÀ´ÒòΪһ¸öÇé¿ö,ҪװXP,°ÑWIN7×öÁË ghost.×°ÍêXP,GRUBµ±È»Ã»ÓÐÁË,ÓÚÊÇÓÃubuntuÆô¶¯ÅÌÐÞ¸´.
ËäÈ»Æô¶¯²Ëµ¥³öÀ´ÁË,µ«Ö»ÄܽøÐÐubuntu,½øÈëwindowsµÄʱºò¾ÍÌáʾerror:cannot get C/H/S value ......
As is Known to us,the function Main is the entry point of all programs.Therefore, we are usually neglecting all that we don't do,which makes us not understanding it more clearly.Now there is a sample arm program which will provide something that opration system usually do.
asm:
&nb ......
extern "C" ÊÇ C++ ±àÒëÆ÷Ö§³ÖµÄÒ»ÖÖÁ´½Óָʾ·û£¨linkage directive£©£¬Ëü±íʾÓÉÆäÉùÃ÷µÄº¯ÊýʹÓà C ÓïÑԵķ½Ê½±àÒëºÍÁ´½Ó¡£
C ºÍ C++ ¶Ôº¯Êý±àÒëºó²úÉúµÄ·ûºÅÃûÊDz»Ò»ÑùµÄ¡£¼ÙÉèÒ»¸öº¯ÊýµÄÔÐÍΪ:
void foo(int x, int y);
ÓÉ C ±àÒëÆ÷±àÒëºó²úÉúµÄ·ûºÅÃûΪ _foo£¬¶ø C++ ÓÉÓÚÖ§³ÖÖØÔØµÄÐèÒª£¬±àÒëºóµÄ·ûºÅà ......