Linux ϱàÒëhello world µÄC ÓïÑÔ³ÌÐò
±¾À´ÎÒÓõÄÊÇÕâÑùµÄ³ÌÐò
# include <iostream.h>
int main(void)
{
int i,j;
j=0;
i=j+1;
cout<<"hello world!"<<endl;
cout<<"the result is"<<i<<endl;
return 0;
}
ÀûÓÃg++ -o test test.cpp¡£µ«ÊÇÕâÑùÊÇÓдíÎóµÄ£¬ÌáʾÎÞ·¨´ò¿ªiostream.h£¬Ð޸ijÉÕâÑùµÄ³ÌÐò
# include <iostream>
using namespace std;
int main(void)
{
int i,j;
j=0;
i=j+1;
cout<<"hello world!"<<endl;
cout<<"the result is"<<i<<endl;
return 0;
}
g++ -o test test.cpp ÕâÑùÔËÐеĽá¹ûÊÇÕýÈ·µÄ¡£
<iostream>ºÍ<iostream.h>ÊDz»Ò»Ñù£¬Ç°ÕßûÓкó׺£¬Êµ¼ÊÉÏ£¬ÔÚÄãµÄ±àÒëÆ÷includeÎļþ¼ÐÀïÃæ¿ÉÒÔ¿´µ½£¬¶þÕßÊÇÁ½¸öÎļþ£¬´ò¿ªÎļþ¾Í»á·¢ÏÖ£¬ÀïÃæµÄ´úÂëÊDz»Ò»ÑùµÄ¡£
ºó׺Ϊ.hµÄÍ·Îļþc++±ê×¼ÒѾÃ÷È·Ìá³ö²»Ö§³ÖÁË£¬ÔçЩµÄʵÏÖ½«±ê×¼¿â¹¦Äܶ¨ÒåÔÚÈ«¾Ö¿Õ¼äÀÉùÃ÷ÔÚ´ø.hºó׺µÄÍ·ÎļþÀc++±ê׼ΪÁ˺ÍCÇø±ð¿ª£¬Ò²ÎªÁËÕýȷʹÓÃÃüÃû¿Õ¼ä£¬¹æ¶¨Í·Îļþ²»Ê¹Óúó׺.h¡£
Òò´Ë£¬µ±Ê¹ÓÃ<iostream.h>ʱ£¬Ï൱ÓÚÔÚcÖе÷Óÿ⺯Êý£¬Ê¹ÓõÄÊÇÈ«¾ÖÃüÃû¿Õ¼ä£¬Ò²¾ÍÊÇÔçÆÚµÄc++ʵÏÖ£»µ±Ê¹ÓÃ<iostream>µÄʱºò£¬¸ÃÍ·ÎļþûÓж¨ÒåÈ«¾ÖÃüÃû¿Õ¼ä£¬±ØÐëʹÓÃnamespace std£»ÕâÑù²ÅÄÜÕýȷʹÓÃcout¡£
Æä´ÎÔÚLinuxϱà³ÌµÄʱºò£¬C++ ÓïÑÔ³ÌÐò¿ÉÒÔ±£´æµÄ¸ñʽÊÇ.cc .C .cppÈýÕß¶¼ÊÇ¿ÉÒÔµÄ
Ïà¹ØÎĵµ£º
ÔÚCÓïÑÔÖУ¬staticµÄ×ÖÃæÒâ˼ºÜÈÝÒ×°ÑÎÒÃǵ¼ÈëÆç;£¬ÆäʵËüµÄ×÷ÓÃÓÐÈýÌõ¡£
£¨1£©ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ¡£ÎªÀí½âÕâ¾ä»°£¬ÎÒ¾ÙÀýÀ´ËµÃ÷¡£ÎÒÃÇҪͬʱ±àÒëÁ½¸öÔ´Îļþ£¬Ò»¸öÊÇa.c£¬ÁíÒ»¸öÊÇmain.c¡£
ÏÂÃæÊÇa.cµÄÄÚÈÝ
ch ......
c±ä³ÉµÄ¶ÔÏó´ó¶àÊǹ²ÏíÄÚ´æÖÐÉêÇ룬±È½ÏÉÙÓÃmallocÖ±½ÓÀ´ÉêÇ룬ËùÒÔÁ´±íÉè¼ÆÒ»°ãÊÇÏÂÃæ2Öнṹ£º
¶ÔÏó --> ¶ÔÏó --> ¶ÔÏó
¶ÔÏó -->Á´±í¶ÔÏó-->¶ÔÏó -->Á´±í¶ÔÏó
£¨1£©¶ÔÓÚµÚÒ»ÖÖ£¬Á´±íÖ±½Ó¹ØÁªµ½¶ÔÏó±¾Éí£¬ËùÒÔÈç¹ûÒ»¸ö¶ÔÏóÔÚÏûÍöʱ£¬Ã»Óм°Ê±ÇåÀíµôÁ´±í¹ØÏµ£¬Ôò»áµ¼ÖÂÁ´±íµôÁ´¡£
£¨2£©Á´±í¶ÔÏó±¾ÉíÊÇÒ» ......
ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔÀ´µÄC´úÂëºÍÒѾдºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£ ......
ת×Ô£ºhttp://blog.csdn.net/Lambol_8309/archive/2009/09/06/4524453.aspx
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
¡¡¡¡ÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ ......
[DllImport("kernel32.dll",SetLastError=true)]
[return: MarshalAs( UnmanagedType.Bool )]
static extern bool AllocConsole();
[DllImport("kernel32.dll",SetLastError=true)]
[return: MarshalAs( UnmanagedType.Bool )]
static extern bool FreeConsole();
// Delegate type to be used as the Handler Routin ......