Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

cÁ´±íʾÀý

CºêʵÀý
Õª×ÔLinuxÄÚºË2.6.21.5Ô´Âë(²¿·Ö)£¬Õ¹Ê¾ÁËÁ´±íµÄÁíÒ»ÖÖʵÏÖ˼·
δ²ÉÓÃANSI C±ê×¼£¬²ÉÓÃGNU C±ê×¼£¬×ñ´ÓGPL°æÈ¨Ðí¿É¡£
struct list_head {
struct list_head *next, *prev;
};

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)

static inline void INIT_LIST_HEAD(struct list_head *list)
{
list->next = list;
list->prev = list;
}

static inline void __list_add(struct list_head *new,
struct list_head *prev,
struct list_head *next)
{
next->prev = new;
new->next = next;
new->prev = prev;
prev->next = new;
}

static inline void list_add(struct list_head *new, struct list_head *head)
{
__list_add(new, head, head->next);
}

static inline void __list_del(struct list_head * prev, struct list_head * next)
{
next->prev = prev;
prev->next = next;
}


static inline void list_del(struct list_head *entry)
{
__list_del(entry->prev, entry->next);
entry->next = NULL;
entry->prev = NULL;
}

#define __list_for_each(pos, head) \
for (pos = (head)->next; pos != (head); pos = pos->next)

#define list_for_each_entry(pos, head, member) \
for (pos = list_entry((head)->next, typeof(*pos), member); \
prefetch(pos->member.next), &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member))
c´úÂëʵÀý
·¶Àý´úÂëÊÇË«Ïò»·ÐÎÁ´±íµÄ»ù±¾²Ù×÷²¿·ÖµÄʵÀý£¨Î´°üº¬Ḭ̈߳²È«»úÖÆ£©È«²¿×ñ´ÓANSI C±ê×¼
 
//½Ó¿ÚÉùÃ÷
#ifndef LLIST_H
#define LLIST_H

typedef void node_proc_fun_t(void*);
typedef int node_comp_fun_t(const void*, const void*);

typedef void LLIST_T;

LLIST_T *llist_new(int elmsize);
int llist_delete(LLIST_T*);

int l


Ïà¹ØÎĵµ£º

luaºÍC½»»¥¿ò¼Ü

1¡¢´íÎó(err_return)µÄºê¶¨Òå
#define err_return(num,fmt,args)  \
    do
    {
        printf("[%s:%d]"fmt"\n",__FILE__,__LINE__,##args);return(num);
    } while(0)
-1  ÊÇreturnµÄ·µ»ØÖµ£¬±íʾÓдíÎó£»
fmt Ê ......

c/sµÄÏîÄ¿´ò°ü£¨º¬ÅäÖÃÎļþ£©

1 ÔÚ½â¾ö·½°¸ÖÐÌí¼ÓWindows°²×°ÏîÄ¿
   ˼·: A ÆäËüÏîÄ¿ÀàÐÍ->°²×°ºÍ²¿Êð
     B Ñ¡Ôñ°²×°ÏîĿģ°å
2 Íê³É³ÌÐòµÄÌí¼Ó
    ˼·: A Ñ¡ÖÐÓ¦ÓóÌÐòÎļþ¼Ð->ÓÒ¼üÑ¡ÔñÌí¼ÓÎļþ->
        Ñ¡ÖÐÓ¦ÓóÌÐò(ÏîÄ¿Ãû.exe)£¨Íê³É³ÌÐòµÄ´ò°ü£ ......

LinuxÏÂCºÍC++¿ª·¢»ù´¡

LinuxÏÂCºÍC++¿ª·¢»ù´¡
»ù±¾±à³Ì¸ÅÄî
n ±à³ÌÓïÑÔ£ºC ¡¢C++
n ±àÒë(compile)£ºÔ´Îļþ£¨.c£©->Ä¿±êÎļþ(.o)
n Á¬½Ó(link)£ºÄ¿±êÎļþ(.o)->¿ÉÖ´ÐÐÎļþ
n ¿â(library)£º¾²Ì¬Á¬½Ó¿â(.a)¡¢¶¯Ì¬Á¬½Ó¿â(.so)
LinuxÏ¿ª·¢¹¤¾ß
n±à¼­Æ÷£ºvi¡¢emacs¡¢´°¿Ú±à¼­Æ÷
n±àÒëÆ÷£ºGCC
nµ÷ÊÔÆ÷£ºGDB
n¿ÉÖ´ÐÐÎļþ¹¤¾ß£ ......

java¿ì »¹ÊÇ c¿ì[c++¿ì],ËÆÊǶø·ÇµÄ̸

    Ê×ÏÈ˵Ã÷Ò»ÏÂÕâ¸ö”¿ì”µÄº¬Òå,ÎÒÏëÒÔǰÄÇЩÌÖÂÛÕâ¸ö»°ÌâµÄÈ˵±È»ÈÏΪÕâ¸ö¿ìÊÇÖ¸³ÌÐòµÄÔËÐÐËÙ¶È,ÖÁÓÚ”Èí¼þ¿ª·¢ËÙ¶È”¿ÖÅÂÏëҲûÏë,»òÐíÈÏΪÈí¼þ¿ª·¢ËٶȺÍÕâ¸ö»°Ìâ³¶²»ÉÏÒ»µã¹ØÏµ.ÄÇôÕâ¸öÎÊÌâÔÚÍøÉÏËÑËÑ,ËѵÄÒ»´ó¶Ñ,ÄÇЩc/c++ÕóÓªµÄÁÐÁ˺ܶàÀý×ÓÀ´ËµÃ÷c/c++¿ì, javaÕóÓªµÄÒ²ÊÇÈç´ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ