zz Emacs C
	
    
    
	ÈÕÆÚ£º2009-11-21   10:54:22
±¾½ÚÖ÷Òª²Î¿¼£º
    ²ÜÀֵġ¶ÔÚEmacsÏÂÓÃC/C++±à³Ì¡·
    Íõ´¿ÒµµÄ¡¶Emacs Ò»¸öÇ¿´óµÄƽ̨¡·
    emacswiki.org
emcasÄÑѧÒ×Ó㬿ÉÀ©Õ¹ÐÔÇ¿¡£ÓÐÈ˰ÑËýµ±×÷ÐÅÑö£¬ÓÐÈËÈÏΪËûÊÇħ¹í£¡Ñ§Ï°Ê×ÏȼÇס»ù±¾µÄ¼üÅÌ¿ì½Ý¼ü£¬Ñ§»á³£Óòå¼þ£¬ÉîÈëѧϰ»¹ÐèѧϰlispÓïÑÔ¡£±¾½Ú½ô¶Ôemacs×÷Ϊ¿ª·¢»·¾³×öÒ»¸ö»ù±¾µÄ½éÉÜ¡£
»ù±¾°²×°ÉèÖÃÇë²Î¿¼£ºUbuntu Ubuntu 8.04 LTS ÅäÖñʼÇ
emacsµÄ»ù±¾°²×°ÉèÖÃÍê³Éºó£¬Ê¹emacs³ÉΪC¿ª·¢»·¾³»¹Ðè×öÈçÏÂÉèÖã¬Ð½¨$HOME/.emacsÎļþ
vim $HOME/.emacs
±¾ÎİÑemacs²å¼þ·ÅÔÚ $HOME/.emacs.d/site-lisp/ Ŀ¼Ï£¬Èç¹ûÔÚ$HOMEÏÂûÓÐÕÒµ½.emacs.dĿ¼£¬ÇëÊÖ¶¯½¨Á¢
ÔÚ.emacsÎļþÌí¼Ó
;;LOAD_PATH
(add-to-list 'load-path' "~/.emacs.d/site-lisp")
Color theme
ÔÚ.emacsÎļþÌí¼Ó
ÏÂÔØColor theme½âѹºó·Åµ½$HOME/.emacs.d/site-lisp/ Ŀ¼ÏÂ
;;COLOR_THEME
(require 'color-theme)
(color-theme-classic)
ÏÔʾÐкÅ
´Óhttp://ann77.stu.cdut.edu.cn/EmacsDisplayLineNumber.htmlÏÂÔØ,°ÑÀïÃæµÄ display-line-number.el·Åµ½¼ÓÔØÂ·¾¶~/.emacs.d/site-lisp/Ŀ¼Ï¡£
ÔÚ.emacsÎļþÌí¼Ó
(require 'display-line-number)
(setq display-line-number-format "%3d ")
(add-hook 'c-mode-hook 'display-line-number-mode)
(add-hook 'c++-mode-hook 'display-line-number-mode)
²Î¿¼£ºhttp://ann77.stu.cdut.edu.cn/EmacsDisplayLineNumber.html
¸Ð¾õann77µÄÕâ¸öµÄÈ·±Èsetnu.elºÃÓÃ
session
´Óhttp://emacs-session.sourceforge.net/ ÏÂÔØ,°ÑÀïÃæµÄ session.el ½âѹ³öÀ´·Åµ½¼ÓÔØÂ·¾¶~/.emacs.d/site-lisp/Ŀ¼Ï¡£
ÔÚ.emacsÎļþÌí¼Ó
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
(load "desktop")
(desktop-save-mode) 
ÔĶÁ´úÂë
ÔÚemacs϶Á´úÂëͨ³£ÓÐһϼ¸ÖÖ¹¤¾ß£¬etags£¬ECB£¨emacs code browser£©£¬cscope£¬Xref¡£Õ⼸ÖÖ¹¤¾ßÒ²¿ÉÒÔÏ໥ÅäºÏʹÓá£ÆäÖУºetagsÊÇemcas×Ô´øµÄ±ê×¼²å¼þ£¬×¢Òâ²»ÊÇctags¡£XrefÊǵÄXrefactoryµÄÃâ·Ñ°æ±¾£¬·ÇGNU£¬Ö§³ÖCºÍjavaµÄÌø×ª£¬×Ô¶¯²¹È«²åµÈ¹¦ÄÜ£¬±Ècedet£«ECB×éºÏËÙ¶ÈÒª¿ì£¬ÓÃÆðÀ´Ò²ºÜ¼òµ¥£¬»Ø´ð¼¸¸öÎÊÌâн¨Ò»¸öproject£¬È»ºó¼¸¸ö¿ì½Ý¼ü¾Í¿ÉÒÔÂú×ãÐèÒªÁË£¬ÃÀÖв»×ãµÄÊǶÔC£
    
     
	
	
    
    
	Ïà¹ØÎĵµ£º
        
    
    Ò» £º½â¾öC»òC++ÖеÄmultiple definition ofÎÊÌâ
server.cpp
clientp2p.cpp
#include "exception.h"
#include "clientp2p.h"
clientp2p.h
ÖÐдÓÐËùÓеÄÈ«¾Ö±äÁ¿¼°Æä³õʼ»¯Öµ
 ºÍº¯ÊýÉùÃ÷
1.server.cppÖУº
ÒýÓÃ
£º
#include "clientp2p.h"
int Main(....)
{
...
}
2.clientp ......
	
    
        
    
     vaϵÁкêµÄÓ÷¨µÄÒ»°ã²½Ö裺
 vsptr(char *format, ...)  //ÇмǴ˴¦µÄ¸ñʽ
 {
    va_list argptr;
    va_start(argptr, format); //ʹµÃargptrÖ¸ÏòÒÔformat¿ªÍ·µÄ´æ´¢¿Õ¼ä
    va_arg(argptr, type);  //È¡´«µÝµÄ²ÎÊý
    ......
	
    
        
    
    C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1.       fgetcº¯Êý
fgetcº¯ÊýµÄ¹¦ÄÜÊÇ´ÓÁ÷ÖжÁÈ¡×Ö·û£¬ÆäÓ÷¨ÊÇ£ºint fgetc(FILE *stream); ³ÌÐòÀý×ÓÈçÏ£º
#include <string.h ......
	
    
        
    
    C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
 
1. initgraphº¯Êý
initgraphº¯ÊýÊdzõʼ»¯Í¼ÐÎϵͳ£¬ÆäÓ÷¨Îª£ºvoid far initgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver); ³ÌÐòÀý×ÓÈçÏ£ ......