ÒªÈàEclipse ¿ÉÒÔ¿ª·¢ C/C++ ³Ìʽ£¬Òª¹ÒÉÏ CDT ²Å¿ÉÒÔ¡£
 
Ê×ÏÈÒªÏÂÔØCDT
 
CDTµÄ×îа汾ÊÇ 3.1.0£¬ËüÖ§³Öeclipse3.2.0£¬ÆäÏÂÔØµØÖ·£ºhttp://download3.eclipse.org/tools/cdt/releases/callisto/dist/3.1.0/£¬»òÕßÊǵ½http://www.eclipse.org/cdt/downloads.phpÏÂÔØÆäËü°æ±¾¡£Èç¹ûÄã°²裝µÄ Eclipse ÊÇ 3.0.x °æ¾Í±Ø須°²裝 CDT 2.1.1 ×îаæ
Èç¹û°²裝µÄ Eclipse ÊÇ 3.1.x °æ£¬¾Í±Ø須°²裝 CDT 3.0 °æ
 
½ÓÏÂÀ´Êǰ²裝
 
½«½âѹºóµÄfeatures¡¢pluginsÕû¸öÎļþ¼Ð¸´ÖƵ½Eclipse°²裝Ŀ¼ÖУ¬ÖØÐÂÆô¶¯Eclipse¼´¿É¡£ÔÚ½¨Á¢ÐÂÏîÄ¿µÄ´°¿ÚÀ¿´µ½ÒѾÓÐÁË C ¼° C++ µÄÑ¡Ï´ú±í°²裝³É¹¦ÁË¡£Èç¹û¿´²»µ½£¬ºÇºÇ£¬Äã¾Í×Ô¼ºÔÙÊÔ°É¡£
»¹Òª°²裝MinGW——Minimalist GNU for Windows
 
ËäÒÑÔÚ EclipseÉϰ²×°ÁËCDT£¬µ«»¹ÐèÒªÒ»¸ö "±àÒïÆ÷" ²ÅÄܱàÒï³Ìʽ£¬ËùÒÔÒªÏÂÔØ¿ÉÔÚWindows»·¾³ÀïʹÓõÄGNU C¡¢C++±àÒïÆ÷£¬ ......
    
        
    
    
ÒªÈàEclipse ¿ÉÒÔ¿ª·¢ C/C++ ³Ìʽ£¬Òª¹ÒÉÏ CDT ²Å¿ÉÒÔ¡£
 
Ê×ÏÈÒªÏÂÔØCDT
 
CDTµÄ×îа汾ÊÇ 3.1.0£¬ËüÖ§³Öeclipse3.2.0£¬ÆäÏÂÔØµØÖ·£ºhttp://download3.eclipse.org/tools/cdt/releases/callisto/dist/3.1.0/£¬»òÕßÊǵ½http://www.eclipse.org/cdt/downloads.phpÏÂÔØÆäËü°æ±¾¡£Èç¹ûÄã°²裝µÄ Eclipse ÊÇ 3.0.x °æ¾Í±Ø須°²裝 CDT 2.1.1 ×îаæ
Èç¹û°²裝µÄ Eclipse ÊÇ 3.1.x °æ£¬¾Í±Ø須°²裝 CDT 3.0 °æ
 
½ÓÏÂÀ´Êǰ²裝
 
½«½âѹºóµÄfeatures¡¢pluginsÕû¸öÎļþ¼Ð¸´ÖƵ½Eclipse°²裝Ŀ¼ÖУ¬ÖØÐÂÆô¶¯Eclipse¼´¿É¡£ÔÚ½¨Á¢ÐÂÏîÄ¿µÄ´°¿ÚÀ¿´µ½ÒѾÓÐÁË C ¼° C++ µÄÑ¡Ï´ú±í°²裝³É¹¦ÁË¡£Èç¹û¿´²»µ½£¬ºÇºÇ£¬Äã¾Í×Ô¼ºÔÙÊÔ°É¡£
»¹Òª°²裝MinGW——Minimalist GNU for Windows
 
ËäÒÑÔÚ EclipseÉϰ²×°ÁËCDT£¬µ«»¹ÐèÒªÒ»¸ö "±àÒïÆ÷" ²ÅÄܱàÒï³Ìʽ£¬ËùÒÔÒªÏÂÔØ¿ÉÔÚWindows»·¾³ÀïʹÓõÄGNU C¡¢C++±àÒïÆ÷£¬ ......
    
        
    
    CAPTION: ¹ØÓÚC/C++ÖÐÄÚ´æ¿Õ¼äµÄ»®·Ö
AUTHOR: aIsland Õª×ÔÖйúITʵÑéÊÒ
DATE: 2010-05-30
E-MAIL: aIsland@live.cn
QQ: 418662213
P.S.
     1.Bolanlan|ËæÐÄhigh|aIsland Èý¸öÍøÃû¾ùΪ±¾ÈË
     2.ÉùÃ÷aIsland ËùÊÕ¼µÄËùÓÐÎÄÕÂÆäÖø×÷Ȩ¶¼ÊôÓÚÔ´´×÷Õß
     3.ÒýÓÃÎÄÕÂÁ´½Ó£ºhttp://c.chinaitlab.com/system/792799.html
Ò»¡¢Ò»¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
¡¡¡¡1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
¡¡¡¡3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣 ......
    
        
    
    CAPTION: ¹ØÓÚC/C++ÖÐÄÚ´æ¿Õ¼äµÄ»®·Ö
AUTHOR: aIsland Õª×ÔÖйúITʵÑéÊÒ
DATE: 2010-05-30
E-MAIL: aIsland@live.cn
QQ: 418662213
P.S.
     1.Bolanlan|ËæÐÄhigh|aIsland Èý¸öÍøÃû¾ùΪ±¾ÈË
     2.ÉùÃ÷aIsland ËùÊÕ¼µÄËùÓÐÎÄÕÂÆäÖø×÷Ȩ¶¼ÊôÓÚÔ´´×÷Õß
     3.ÒýÓÃÎÄÕÂÁ´½Ó£ºhttp://c.chinaitlab.com/system/792799.html
Ò»¡¢Ò»¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
¡¡¡¡1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
¡¡¡¡3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣 ......
    
        
    
    /* 
 * File:   main.cpp
 * Author: Vicky
 *
 * Created on 2010Äê5ÔÂ8ÈÕ, ÏÂÎç2:47
 */
#include <iostream>
using namespace std;
void swap(int x, int y) {
    cout << "x and y swap before : " << x << "\t" << y << endl;
    int i = x;
    x = y;
    y = i;
    cout << "x and y swap after : " << x << "\t" << y << endl;
}
void swap2(int * x, int * y) {
    cout << "x and y swap before : " << *x << "\t" << *y << endl;
    int * i = x;
    x = y;
    y = i;
    cout << "x and y swap after : " << *x << "\t" << *y << endl;
}
/**
 * ×¢Òâ,´Ë´¦·Ç&xÓë&y²¢·ÇµØÖ·,¶øÊǶÔÏóµÄ±ðÃû!!!
 */
void swap3(int &x, int &y) {
    cout << "x and y swap before : " << x << "\t" << y << endl;
    int i = x;
    x = y;
    y = i;
    cout << "x and y swap after : " << x << "\t" << y << endl; ......
    
        
    
    /* 
 * File:   main.cpp
 * Author: Vicky
 *
 * Created on 2010Äê5ÔÂ8ÈÕ, ÏÂÎç2:47
 */
#include <iostream>
using namespace std;
void swap(int x, int y) {
    cout << "x and y swap before : " << x << "\t" << y << endl;
    int i = x;
    x = y;
    y = i;
    cout << "x and y swap after : " << x << "\t" << y << endl;
}
void swap2(int * x, int * y) {
    cout << "x and y swap before : " << *x << "\t" << *y << endl;
    int * i = x;
    x = y;
    y = i;
    cout << "x and y swap after : " << *x << "\t" << *y << endl;
}
/**
 * ×¢Òâ,´Ë´¦·Ç&xÓë&y²¢·ÇµØÖ·,¶øÊǶÔÏóµÄ±ðÃû!!!
 */
void swap3(int &x, int &y) {
    cout << "x and y swap before : " << x << "\t" << y << endl;
    int i = x;
    x = y;
    y = i;
    cout << "x and y swap after : " << x << "\t" << y << endl; ......
    
        
    
    /*
 * File:   main.cpp
 * Author: Vicky
 *
 * Created on 2010Äê5ÔÂ8ÈÕ, ÏÂÎç2:47
 */
#include <iostream>
using namespace std;
class A{
public:
    A(){
        cout << "Ö´Ðй¹Ô캯Êý´´½¨Ò»¸ö¶ÔÏó" << endl;
    }
    A(A&){
        cout << "Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó" << endl;
    }
    ~A(){
        cout << "Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó" << endl;
    }
};
void func(A a){
    cout << "µ÷ÓÃÒ»¸ö´«Öµº¯Êý" << endl;
}
void func2(A &a){
    cout << "µ÷ÓÃÒ»¸ö´«Ö·º¯Êý" << endl;
}
A getA(A a){
    return a;
}
A getA2(A &a){
    return a;
}
/**
 * ͬgetA4
 */
A* getA3(A &a){
    return &a;
}
/**
 * ͬgetA3
 */
A* getA4(A *a){
    return a;
}
/*
 * °´Öµ´«µÝµÄȱµã...µ±´´½¨Ò»¸öеĶÔÏóÖ®ºó,Èç¹û°´Öµ´«µÝ
 * ½«¸´Öƹ¹Ô캯Êý´´½¨¶ÔÏóµÄ¸±±¾,¸±±¾ÔÚʹÓÃÍê³ÉÖ®ºó,ÓÖ»áÖ´ÐÐÎö¹¹º¯Êýɾ³ý¸Ã¸±±¾!
 */
int main(int argc, char** argv) {
    A a;
    func(a);
    func(a);
    cout << "-- ......
    
        
    
    /*
 * File:   main.cpp
 * Author: Vicky
 *
 * Created on 2010Äê5ÔÂ8ÈÕ, ÏÂÎç2:47
 */
#include <iostream>
using namespace std;
class A{
public:
    A(){
        cout << "Ö´Ðй¹Ô캯Êý´´½¨Ò»¸ö¶ÔÏó" << endl;
    }
    A(A&){
        cout << "Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó" << endl;
    }
    ~A(){
        cout << "Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó" << endl;
    }
};
void func(A a){
    cout << "µ÷ÓÃÒ»¸ö´«Öµº¯Êý" << endl;
}
void func2(A &a){
    cout << "µ÷ÓÃÒ»¸ö´«Ö·º¯Êý" << endl;
}
A getA(A a){
    return a;
}
A getA2(A &a){
    return a;
}
/**
 * ͬgetA4
 */
A* getA3(A &a){
    return &a;
}
/**
 * ͬgetA3
 */
A* getA4(A *a){
    return a;
}
/*
 * °´Öµ´«µÝµÄȱµã...µ±´´½¨Ò»¸öеĶÔÏóÖ®ºó,Èç¹û°´Öµ´«µÝ
 * ½«¸´Öƹ¹Ô캯Êý´´½¨¶ÔÏóµÄ¸±±¾,¸±±¾ÔÚʹÓÃÍê³ÉÖ®ºó,ÓÖ»áÖ´ÐÐÎö¹¹º¯Êýɾ³ý¸Ã¸±±¾!
 */
int main(int argc, char** argv) {
    A a;
    func(a);
    func(a);
    cout << "-- ......
    
        
    
    ¹ØÓÚ#ºÍ##ÔÚCÓïÑԵĺêÖУ¬#µÄ¹¦ÄÜÊǽ«ÆäºóÃæµÄºê²ÎÊý½øÐÐ×Ö·û´®»¯²Ù×÷£¨Stringfication£©£¬¼òµ¥Ëµ¾ÍÊÇÔÚ¶ÔËüËùÒýÓõĺê±äÁ¿Í¨¹ýÌæ»»ºóÔÚÆä×óÓÒ¸÷¼ÓÉÏÒ»¸öË«ÒýºÅ¡£±ÈÈçÏÂÃæ´úÂëÖеĺ꣺ 
#define WARN_IF(EXP)     \
     do{ if (EXP)     \
             fprintf(stderr, "Warning: " #EXP "\n"); }    \
     while(0)
ÄÇôʵ¼ÊʹÓÃÖлá³öÏÖÏÂÃæËùʾµÄÌæ»»¹ý³Ì£º 
WARN_IF (divider == 0);
±»Ì滻Ϊ
do {
     if (divider == 0)
fprintf(stderr, "Warning" "divider == 0" "\n");
} while(0);
ÕâÑùÿ´Îdivider£¨³ýÊý£©Îª0µÄʱºò±ã»áÔÚ±ê×¼´íÎóÁ÷ÉÏÊä³öÒ»¸öÌáʾÐÅÏ¢¡£ 
¶ø##±»³ÆÎªÁ¬½Ó·û£¨concatenator£©£¬ÓÃÀ´½«Á½¸öTokenÁ¬½ÓΪһ¸öToken¡£×¢ÒâÕâÀïÁ¬½ÓµÄ¶ÔÏóÊÇToken¾ÍÐУ¬¶ø²»Ò»¶¨ÊǺêµÄ±äÁ¿¡£±ÈÈçÄãÒª×öÒ»¸ö²Ëµ¥ÏîÃüÁîÃûºÍº¯ÊýÖ¸Õë×é³ÉµÄ½á¹¹ÌåµÄÊý×飬²¢ÇÒÏ£ÍûÔÚº¯ÊýÃûºÍ²Ëµ¥ÏîÃüÁîÃûÖ®¼äÓÐÖ±¹ÛµÄ¡¢Ãû×ÖÉϵĹØÏµ¡£ÄÇôÏÂÃæµÄ´úÂë¾Í·Ç³£ÊµÓ㺠
struct command
{
ch ......
    
        
    
    Technorati ±êÇ©: C++  ÔÎĵØÖ·£ºhttp://www.byvoid.com/blog/c-int64/  ÔÚC/C++ÖУ¬64ΪÕûÐÍÒ»Ö±ÊÇÒ»ÖÖûÓÐÈ·¶¨¹æ·¶µÄÊý¾ÝÀàÐÍ¡£ÏÖ½ñÖ÷Á÷µÄ±àÒëÆ÷ÖУ¬¶Ô64ΪÕûÐ͵ÄÖ§³ÖÒ²ÊDZê×¼²»Ò»£¬ÐÎ̬¸÷Òì¡£Ò»°ãÀ´Ëµ£¬64λÕûÐ͵͍Ò巽ʽÓÐlong longºÍ__int64Á½ÖÖ(VC»¹Ö§³Ö_int64)£¬¶øÊä³öµ½±ê×¼Êä³ö·½Ê½ÓÐprintf(¡°%lld¡±,a)£¬printf(¡°%I64d¡±,a)£¬ºÍcout << aÈýÖÖ·½Ê½¡£   ±¾ÎÄÌÖÂÛµÄÊÇÎåÖÖ³£ÓõÄC/C++±àÒëÆ÷¶Ô64λÕûÐ͵ÄÖ§³Ö£¬ÕâÎåÖÖ±àÒëÆ÷·Ö±ðÊÇgcc(mingw32)£¬g++(mingw32)£¬gcc(linux i386)£¬g++(linux i386)£¬Microsoft Visual C++ 6.0¡£¿ÉϧµÄÊÇ£¬Ã»ÓÐÒ»ÖÖ¶¨ÒåºÍÊä³ö·½Ê½×éºÏ£¬Í¬Ê±¼æÈÝÕâÎåÖÖ±àÒëÆ÷¡£Îª³¹µ×ŪÇ岻ͬ±àÒëÆ÷¶Ô64λÕûÐÍ£¬ÎÒдÁ˳ÌÐò¶ÔËüÃǽøÐÐÁËÆÀ²â£¬½á¹ûÈçÏÂ±í¡£               ±äÁ¿¶¨Òå        Êä³ö·½Ê½        gcc(mingw32)        g++(mingw32)        gcc(linux i386)        g++(linux i386)        MicrosoftVisual C++ 6.0                  long long        ¡°%lld¡±        ´íÎó        ´íÎó        ÕýÈ·        ÕýÈ·        ÎÞ·¨±àÒë                  long long        ¡°%I64d¡±        ÕýÈ·        ÕýÈ·        ´íÎó        ´íÎó        ÎÞ· ......
    
        
    
    Technorati ±êÇ©: C++  ÔÎĵØÖ·£ºhttp://www.byvoid.com/blog/c-int64/  ÔÚC/C++ÖУ¬64ΪÕûÐÍÒ»Ö±ÊÇÒ»ÖÖûÓÐÈ·¶¨¹æ·¶µÄÊý¾ÝÀàÐÍ¡£ÏÖ½ñÖ÷Á÷µÄ±àÒëÆ÷ÖУ¬¶Ô64ΪÕûÐ͵ÄÖ§³ÖÒ²ÊDZê×¼²»Ò»£¬ÐÎ̬¸÷Òì¡£Ò»°ãÀ´Ëµ£¬64λÕûÐ͵͍Ò巽ʽÓÐlong longºÍ__int64Á½ÖÖ(VC»¹Ö§³Ö_int64)£¬¶øÊä³öµ½±ê×¼Êä³ö·½Ê½ÓÐprintf(¡°%lld¡±,a)£¬printf(¡°%I64d¡±,a)£¬ºÍcout << aÈýÖÖ·½Ê½¡£   ±¾ÎÄÌÖÂÛµÄÊÇÎåÖÖ³£ÓõÄC/C++±àÒëÆ÷¶Ô64λÕûÐ͵ÄÖ§³Ö£¬ÕâÎåÖÖ±àÒëÆ÷·Ö±ðÊÇgcc(mingw32)£¬g++(mingw32)£¬gcc(linux i386)£¬g++(linux i386)£¬Microsoft Visual C++ 6.0¡£¿ÉϧµÄÊÇ£¬Ã»ÓÐÒ»ÖÖ¶¨ÒåºÍÊä³ö·½Ê½×éºÏ£¬Í¬Ê±¼æÈÝÕâÎåÖÖ±àÒëÆ÷¡£Îª³¹µ×ŪÇ岻ͬ±àÒëÆ÷¶Ô64λÕûÐÍ£¬ÎÒдÁ˳ÌÐò¶ÔËüÃǽøÐÐÁËÆÀ²â£¬½á¹ûÈçÏÂ±í¡£               ±äÁ¿¶¨Òå        Êä³ö·½Ê½        gcc(mingw32)        g++(mingw32)        gcc(linux i386)        g++(linux i386)        MicrosoftVisual C++ 6.0                  long long        ¡°%lld¡±        ´íÎó        ´íÎó        ÕýÈ·        ÕýÈ·        ÎÞ·¨±àÒë                  long long        ¡°%I64d¡±        ÕýÈ·        ÕýÈ·        ´íÎó        ´íÎó        ÎÞ· ......