#include <stdio.h>
unsigned int reverse_bits(unsigned int value)
{
unsigned int answer;
unsigned int i;
answer = 0;
for(i=1;i!=0;i<<=1){ //´ËÑ»·¿ÉÒÔºöÂÔ»úÆ÷µÄ²îÒì¡£64λºÍ32λ½Ô¿ÉÓã¬ÔöÇ¿´Ë´úÂëµÄ¿ÉÒÆÖ²ÐÔ
answer <<=1;
if(value & 1)
answer |= 1;
value >>=1;
}
return answer;
}
int main(void)
{
unsigned int get_answer=reverse_bits(13);
int i=31;
char t;
while(i)
{
t ='0'+ ((get_answer >> i) & 1);
printf("%c",t);
i- ......
Ò»¡¢´ÓCÓëC++±àÒëÁ¬½Ó·½Ê½ÉîÈëÀí½âextern "C"
<1>.CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ.extern "C"ÓÃÓÚʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡£
<2>.δ¼Óextern “C”ÉùÃ÷ʱµÄ±àÒ뷽ʽ
Ê×ÏÈ¿´¿´C++ÖжÔÀàËÆCµÄº¯ÊýÊÇÔõÑù±àÒëµÄ¡£
×÷ΪһÖÖÃæÏò¶ÔÏóµÄÓïÑÔ£¬C++Ö§³Öº¯ÊýÖØÔØ£¬¶ø¹ý³ÌʽÓïÑÔCÔò²»Ö§³Ö¡£º¯Êý±»C++±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬¡£ÀýÈ磬¼ÙÉèij¸öº¯ÊýµÄÔÐÍΪ£º
void foo( int x, int y );
¸Ãº¯Êý±»C±àÒëÆ÷±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖΪ_foo£¬¶øC++±àÒëÆ÷Ôò»á²úÉúÏñ_foo_int_intÖ®ÀàµÄÃû×Ö£¨²»Í¬µÄ±àÒëÆ÷¿ÉÄÜÉú³ÉµÄÃû×Ö²»Í¬£¬µ«ÊǶ¼²ÉÓÃÁËÏàͬµÄ»úÖÆ£¬Éú³ÉµÄÐÂÃû×Ö³ÆÎª“mangled name”£©¡£_foo_int_intÕâÑùµÄÃû×Ö°üº¬Á˺¯ÊýÃû¡¢º¯Êý²ÎÊýÊýÁ¿¼°ÀàÐÍÐÅÏ¢£¬C++¾ÍÊÇ¿¿ÕâÖÖ»úÖÆÀ´ÊµÏÖº¯ÊýÖØÔØµÄ¡£ÀýÈ磬ÔÚC++ÖУ¬º¯Êývoid foo( int x, int y )Óëvoid foo( int x, float y )±àÒëÉú³ÉµÄ·ûºÅÊDz»ÏàͬµÄ£¬ºóÕßΪ_foo_int_float¡£
ͬÑùµØ£¬C++ÖеıäÁ¿ ³ýÖ§³Ö¾Ö²¿±äÁ¿Í⣬»¹Ö§³ÖÀà³ÉÔ±±äÁ¿ºÍÈ«¾Ö±äÁ¿¡£Óû§Ëù±àд³ÌÐòµÄÀà³ÉÔ±±äÁ¿¿ÉÄÜÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÎÒÃÇÒÔ"."À´Çø·Ö¡£¶ø±¾ÖÊÉ ......
±¾ÎÄÊÇд¸ø gcc ÐÂÊÖµÄÈëÃÅÎÄÕ£¬ËùÒÔÄÚÈݱȽϼòµ¥¡£Èç¹ûÄãÖªµÀÏÂÃæ3ÌõÃüÁî¶¼¿ÉÒÔ±àÒëc++µÄ»°£¬¾Í²»ÓÃÔÚ±¾ÎÄÀË·Ñʱ¼äÁË
´úÂë:
g++ -Wall hellocpp.cpp
gcc -Wall hellocpp.cpp -lstdc++
gfortran -Wall hellocpp.cpp -lstdc++
×¢£º±¾ÎÄ×îаæÔÚwikiÖÐ http://wiki.ubuntu.org.cn/Gcchowto
£¨½¨Òé´ó¼ÒÖ±½Ó·ÃÎÊwikiÖеİ汾£©
Èç¹ûÄãÏëÕÒÒ»¸ö¼¯³É¿ª·¢»·¾³£¬¿É·ÃÎÊ
http://wiki.ubuntu.org.cn/C_Cpp_IDE
Èç¹ûÒª´î½¨Gtk»òQt±àÒë»·¾³£¬¿É·ÃÎÊ http://wiki.ubuntu.org.cn/GtkÓëQt±àÒë»·¾³°²×°ÓëÅäÖÃ
×¢Ò⣺
¿ªÊ¼Ö®Ç°ÇëÈ·±£ÒѾ°²×°ÁË build-essential Èí¼þ°ü
±àÒë¼òµ¥µÄ C ³ÌÐò
C ÓïÑÔ¾µäµÄÈëÃÅÀý×ÓÊÇ Hello World£¬ÏÂÃæÊÇһʾÀý´úÂ룺
´úÂë:
#include <stdio.h>
int
main(void)
{
printf("Hello, world!\n");
return 0;
}
ÎÒÃǼٶ¨¸Ã´úÂë´æÎªÎļþ‘hello.c’¡£ÒªÓà gcc
±àÒë¸ÃÎļþ£¬Ê¹ÓÃÏÂÃæµÄÃüÁ
´úÂë:
$ gcc -Wall hello.c -o hello
¸ÃÃüÁÎļþ‘hello.c’ÖеĴúÂë±àÒëΪ»úÆ÷Âë²¢´æ´¢ÔÚ¿ÉÖ´ÐÐÎļþ ‘hello’ÖС£»úÆ÷ÂëµÄÎļþÃûÊÇͨ¹ý -o
Ñ¡ÏîÖ¸¶¨µÄ¡£¸ÃÑ¡Ïîͨ³£×÷ΪÃüÁîÐÐÖ ......
±¾ÎÄÊÇд¸ø gcc ÐÂÊÖµÄÈëÃÅÎÄÕ£¬ËùÒÔÄÚÈݱȽϼòµ¥¡£Èç¹ûÄãÖªµÀÏÂÃæ3ÌõÃüÁî¶¼¿ÉÒÔ±àÒëc++µÄ»°£¬¾Í²»ÓÃÔÚ±¾ÎÄÀË·Ñʱ¼äÁË
´úÂë:
g++ -Wall hellocpp.cpp
gcc -Wall hellocpp.cpp -lstdc++
gfortran -Wall hellocpp.cpp -lstdc++
×¢£º±¾ÎÄ×îаæÔÚwikiÖÐ http://wiki.ubuntu.org.cn/Gcchowto
£¨½¨Òé´ó¼ÒÖ±½Ó·ÃÎÊwikiÖеİ汾£©
Èç¹ûÄãÏëÕÒÒ»¸ö¼¯³É¿ª·¢»·¾³£¬¿É·ÃÎÊ
http://wiki.ubuntu.org.cn/C_Cpp_IDE
Èç¹ûÒª´î½¨Gtk»òQt±àÒë»·¾³£¬¿É·ÃÎÊ http://wiki.ubuntu.org.cn/GtkÓëQt±àÒë»·¾³°²×°ÓëÅäÖÃ
×¢Ò⣺
¿ªÊ¼Ö®Ç°ÇëÈ·±£ÒѾ°²×°ÁË build-essential Èí¼þ°ü
±àÒë¼òµ¥µÄ C ³ÌÐò
C ÓïÑÔ¾µäµÄÈëÃÅÀý×ÓÊÇ Hello World£¬ÏÂÃæÊÇһʾÀý´úÂ룺
´úÂë:
#include <stdio.h>
int
main(void)
{
printf("Hello, world!\n");
return 0;
}
ÎÒÃǼٶ¨¸Ã´úÂë´æÎªÎļþ‘hello.c’¡£ÒªÓà gcc
±àÒë¸ÃÎļþ£¬Ê¹ÓÃÏÂÃæµÄÃüÁ
´úÂë:
$ gcc -Wall hello.c -o hello
¸ÃÃüÁÎļþ‘hello.c’ÖеĴúÂë±àÒëΪ»úÆ÷Âë²¢´æ´¢ÔÚ¿ÉÖ´ÐÐÎļþ ‘hello’ÖС£»úÆ÷ÂëµÄÎļþÃûÊÇͨ¹ý -o
Ñ¡ÏîÖ¸¶¨µÄ¡£¸ÃÑ¡Ïîͨ³£×÷ΪÃüÁîÐÐÖ ......
×î½ü W3C
Ò»¿ÚÆøÍÆ³ö 7 ¸ö HTML ¹¤×÷²Ý°¸£¬º¸ÇÁË HTML5£¬HTML RDF£¬HTML Microdata£¬HTML Canvas£¬ HTML
Bidi µÈ±ê×¼¡£ÕâЩ²Ý°¸¶àÊýÓë HTML5 Óйأ¬ËäÈ» HTML5 ±ê×¼µÄÕæÕý·¢²¼ÓëʵÏÖ»¹ÓкÜÔ¶µÄ·£¬µ«Õâ¸öδÀ´×îÓÐǰ;µÄ HTML
±ê×¼ÕýÒýÆðÒµ½ç¹ã·ºµÄ¹Ø×¢¡£
W3C ·¢²¼µÄ 7 ¸ö HTML ¹¤×÷²Ý°¸ÊÇ:
HTML5
: HTML 5 ºËÐÄϸÔò .
HTML: The Markup Language
:
Ö÷ÒªÊÇÃæÏò Web ¿ª·¢ÕßµÄ HTML£¬½²ÊöÁË HTML Óï·¨£¬ÔªËØ£¬ÊôÐԵȡ£
HTML5 differences from
HTML4
: HTML5 ºÍ HTML4 ÓÐÊ²Ã´Çø±ð¡£
HTML+RDFa
: ÔÚ HTML5 ÖÐʹÓÃ
RDF µÄ¹æÔòºÍÖ¸Òý¡£
HTML Microdata
: ÔÚ HTML
ÎĵµÖÐǶÈë»úÆ÷¿É¶ÁÊý¾ÝµÄ»úÖÆ¡£
HTML Canvas 2D Context
:
HTML5 ÖÐ 2D Canvas ¶ÔÏóµÄϸ½Ú¡£
Additional
Requirements for Bidi in HTML
: ͬʱ֧³Ö×óµ½ÓÒºÍÓÒµ½×óÔĶÁ˳ÐòµÄÎĵµºÍÓ¦ÓóÌÐòµÄһЩ½¨Òé¡£
¹ØÓÚ HTML5 µÄÑÓÉìÔĶÁ
¹Ø
ÓÚ HTML5£¬¿ª·¢Õß¿ÉÒÔÆÚ´ýʲô£¿
HTML
5 Ö®ºóÊÇʲô£¿HTML
Éî
ÈëÁ˽â HTML 5
ÈÃ
JavaScript Õü¾È HTML5
µÄÀëÏß´æ´¢
Web
Forms 2.0 Ðн«±» HTML 5
´úÌæ
HTML
5
ÕýÔڸıä Web
HTML
5
ÁîÈËÆÚ´ýµÄ 5 ÏÄÜ
......
×î½ü W3C
Ò»¿ÚÆøÍÆ³ö 7 ¸ö HTML ¹¤×÷²Ý°¸£¬º¸ÇÁË HTML5£¬HTML RDF£¬HTML Microdata£¬HTML Canvas£¬ HTML
Bidi µÈ±ê×¼¡£ÕâЩ²Ý°¸¶àÊýÓë HTML5 Óйأ¬ËäÈ» HTML5 ±ê×¼µÄÕæÕý·¢²¼ÓëʵÏÖ»¹ÓкÜÔ¶µÄ·£¬µ«Õâ¸öδÀ´×îÓÐǰ;µÄ HTML
±ê×¼ÕýÒýÆðÒµ½ç¹ã·ºµÄ¹Ø×¢¡£
W3C ·¢²¼µÄ 7 ¸ö HTML ¹¤×÷²Ý°¸ÊÇ:
HTML5
: HTML 5 ºËÐÄϸÔò .
HTML: The Markup Language
:
Ö÷ÒªÊÇÃæÏò Web ¿ª·¢ÕßµÄ HTML£¬½²ÊöÁË HTML Óï·¨£¬ÔªËØ£¬ÊôÐԵȡ£
HTML5 differences from
HTML4
: HTML5 ºÍ HTML4 ÓÐÊ²Ã´Çø±ð¡£
HTML+RDFa
: ÔÚ HTML5 ÖÐʹÓÃ
RDF µÄ¹æÔòºÍÖ¸Òý¡£
HTML Microdata
: ÔÚ HTML
ÎĵµÖÐǶÈë»úÆ÷¿É¶ÁÊý¾ÝµÄ»úÖÆ¡£
HTML Canvas 2D Context
:
HTML5 ÖÐ 2D Canvas ¶ÔÏóµÄϸ½Ú¡£
Additional
Requirements for Bidi in HTML
: ͬʱ֧³Ö×óµ½ÓÒºÍÓÒµ½×óÔĶÁ˳ÐòµÄÎĵµºÍÓ¦ÓóÌÐòµÄһЩ½¨Òé¡£
¹ØÓÚ HTML5 µÄÑÓÉìÔĶÁ
¹Ø
ÓÚ HTML5£¬¿ª·¢Õß¿ÉÒÔÆÚ´ýʲô£¿
HTML
5 Ö®ºóÊÇʲô£¿HTML
Éî
ÈëÁ˽â HTML 5
ÈÃ
JavaScript Õü¾È HTML5
µÄÀëÏß´æ´¢
Web
Forms 2.0 Ðн«±» HTML 5
´úÌæ
HTML
5
ÕýÔڸıä Web
HTML
5
ÁîÈËÆÚ´ýµÄ 5 ÏÄÜ
......
from£ºhttp://wiki.ubuntu.org.cn/index.php?title=C_Cpp_IDE&variant=zh-cn
¼øÓÚ²»¶ÏÓÐÍøÓѽ«±àÒëÆ÷ GCC ÎóÈÏΪ IDE£¨¼¯³É¿ª·¢»·¾³£©
ÆÚÍûÍÑÀëÃüÁîÐÐ
ÆÚÍûÄÜÔڲ˵¥Öз¢ÏÖÆäÉíÓ°
ÆÚÍûÆäÄÜÓÐÒ»¸ö¼¯±à¼±àÒëÁ´½Óµ÷ÊÔÔËÐÐÓÚÒ»ÌåµÄ½çÃæ
¹Ê±¾Îĸø´ó¼Ò¼òµ¥ÂÞÁÐһЩ C/C++ ±à³ÌÖпÉÓÃµÄ IDE£¬»òÐíÄã´ÓÖпÉÒÔÕÒÒ»¸öÄãϲ»¶µÄ¡£
Ϊ±ÜÃâÒÔÏÂij¸öÈí¼þ°²×°Ê±²»×Ô¶¯°²×° build-essential ²»·ÁÏÈÖ´ÐУº
sudo apt-get install build-essential
×¢ÒâàÞ£º
±¾ÎÄÔÚÆÚ´ýÄãµÄÍêÉÆ¡£
[±à¼
]
anjuta
Anjuta DevStudio µÄ¹Ù·½µØÖ·£ºhttp://anjuta.sourceforge.net/
AnjutaÊÇÒ»¸öC/C++ IDE£¬Ëü×î´óµÄÌØÉ«ÊÇÁé»î£¬Í¬Ê±´ò¿ª¶à¸öÎļþ£¬ÄÚǶ´úÂë¼¶µÄµ÷ÊÔÆ÷(µ÷ÓÃgdb)£¬Ó¦ÓóÌÐòÏòµ¼£¨Application wizards£©¿ÉÒÔ·½±ãµÄ°ïÖúÄã´´½¨GNOME³ÌÐò¶ø²»ÐèÒªÄã×Ô¼ºÐ´Ò»Ð©ÓëÄãÐËȤÎ޹صĴúÂë¡£
°²×°·½·¨£º
sudo apt-get install anjuta
°²×°Íê³Éºó£¬¿ÉÄÜÔÚн¨¹¤³Ì£¨project)ʱ»á³öÏÖ“ÕÒ²»µ½°æ±¾ºÅΪ5µÄAutogen”µÄ´íÎóÐÅÏ¢¡£ÕâʱÇë°²×°AutogenÈí¼þ°ü¡£
sudo apt-get install autogen
²Î¿¼£º
LinuxÏÂÓÃAnjutaд¸öHello World µÄC++³ÌÐò¾¹Èç´Ë¼òµ¥£¡
anjuta½çÃæ
[±à¼
]
kdevelo ......
static
DataManager
*
sharedDataManager
=
nil;
+
(DataManager
*
) sharedManager
{
@synchronized(self)
{
if
(sharedDataManager
==
nil)
{
[[self alloc] init];
}
}
return
sharedDataManager;
}
+
(id)allocWithZone:(NSZone
*
)zone
{
@synchronized(self)
{
if
(sharedDataManager
==
nil)
{
sharedDataManager
=
[super allocWithZone:zone];
return
......