2005-09-12 09:16
×÷ÕߣºËᦻª
³ö´¦£ºÌì¼«Íø
ÔðÈα༣º·½ÖÛ
¡¡¡¡º¯Êýmax¿´ÆðÀ´¼ò½àÃ÷ÁË£¬µ«ÊÇʵ¼ÊÉÏprintfµÄʵÏÖÈ´Ô¶±ÈÕ⸴ÔÓ¡£maxº¯ÊýÖ®ËùÒÔ¿´ÆðÀ´¼òµ¥£¬ÊÇÒòΪ£º
¡¡¡¡(1) maxº¯Êý¿É±ä²ÎÊý±íµÄ³¤¶ÈÊÇÒÑÖªµÄ£¬Í¨¹ýnum²ÎÊý´«È룻
¡¡¡¡(2) maxº¯Êý¿É±ä²ÎÊý±íÖвÎÊýµÄÀàÐÍÊÇÒÑÖªµÄ£¬¶¼ÎªintÐÍ¡£
¡¡¡¡¶øprintfº¯ÊýÔòûÓÐÕâôÐÒÔË¡£Ê×ÏÈ£¬printfº¯Êý¿É±ä²ÎÊýµÄ¸öÊý²»ÄÜÇáÒ׵ĵõ½£¬¶ø¿É±ä²ÎÊýµÄÀàÐÍÒ²²»Êǹ̶¨µÄ£¬ÐèÓɸñʽ×Ö·û´®½øÐÐʶ±ð£¨ÓÉ%f¡¢%d¡¢%sµÈÈ·¶¨£©£¬Òò´ËÔòÉæ¼°µ½¿É±ä²ÎÊý±íµÄ¸ü¸´ÔÓÓ¦Óá£
¡¡¡¡ÏÂÃæÎÒÃÇÒÔʵÀýÀ´·ÖÎö¿É±ä²ÎÊý±íµÄ¸ß¼¶Ó¦Óá£
¸ß¼¶Ó¦ÓÃ
¡¡¡¡ÏÂÃæÕâ¸ö³ÌÐòÊÇÎÒÃÇΪijǶÈëʽϵͳ£¨¸ÃϵͳÖÐCPUµÄ×Ö³¤Îª16룩±àдµÄÔÚÆÁÄ»ÉÏÏÔʾ¸ñʽ×Ö·û´®µÄº¯Êý
DrawText£¬ËüµÄÓ÷¨ÀàËÆÓÚint printf ( const char *format, ...
)º¯Êý£¬µ«ÆäÊä³öµÄÄ¿±êΪǶÈëʽϵͳµÄÒº¾§ÏÔʾÆÁÄ»£¨LED£©¡£
///////////////////////////////////////////////////////////////////////////////
// º¯ÊýÃû³Æ: DrawText
// ¹¦ÄÜ˵Ã÷: ÔÚÏÔʾÆÁÉÏ»æÖÆÎÄ×Ö
// ²ÎÊý˵Ã÷: xPos ---ºá×ø±êµÄλÖà [0 .. 30]
// yPos ---×Ý×ø±êµÄλÖà [0 .. 64]
// ... ¿ÉÒÔͬÊý×ÖÒ»ÆðÏÔʾ£¬ÐèÉè ......
2005-09-12 09:16
×÷ÕߣºËᦻª
³ö´¦£ºÌì¼«Íø
ÔðÈα༣º·½ÖÛ
¡¡¡¡º¯Êýmax¿´ÆðÀ´¼ò½àÃ÷ÁË£¬µ«ÊÇʵ¼ÊÉÏprintfµÄʵÏÖÈ´Ô¶±ÈÕ⸴ÔÓ¡£maxº¯ÊýÖ®ËùÒÔ¿´ÆðÀ´¼òµ¥£¬ÊÇÒòΪ£º
¡¡¡¡(1) maxº¯Êý¿É±ä²ÎÊý±íµÄ³¤¶ÈÊÇÒÑÖªµÄ£¬Í¨¹ýnum²ÎÊý´«È룻
¡¡¡¡(2) maxº¯Êý¿É±ä²ÎÊý±íÖвÎÊýµÄÀàÐÍÊÇÒÑÖªµÄ£¬¶¼ÎªintÐÍ¡£
¡¡¡¡¶øprintfº¯ÊýÔòûÓÐÕâôÐÒÔË¡£Ê×ÏÈ£¬printfº¯Êý¿É±ä²ÎÊýµÄ¸öÊý²»ÄÜÇáÒ׵ĵõ½£¬¶ø¿É±ä²ÎÊýµÄÀàÐÍÒ²²»Êǹ̶¨µÄ£¬ÐèÓɸñʽ×Ö·û´®½øÐÐʶ±ð£¨ÓÉ%f¡¢%d¡¢%sµÈÈ·¶¨£©£¬Òò´ËÔòÉæ¼°µ½¿É±ä²ÎÊý±íµÄ¸ü¸´ÔÓÓ¦Óá£
¡¡¡¡ÏÂÃæÎÒÃÇÒÔʵÀýÀ´·ÖÎö¿É±ä²ÎÊý±íµÄ¸ß¼¶Ó¦Óá£
¸ß¼¶Ó¦ÓÃ
¡¡¡¡ÏÂÃæÕâ¸ö³ÌÐòÊÇÎÒÃÇΪijǶÈëʽϵͳ£¨¸ÃϵͳÖÐCPUµÄ×Ö³¤Îª16룩±àдµÄÔÚÆÁÄ»ÉÏÏÔʾ¸ñʽ×Ö·û´®µÄº¯Êý
DrawText£¬ËüµÄÓ÷¨ÀàËÆÓÚint printf ( const char *format, ...
)º¯Êý£¬µ«ÆäÊä³öµÄÄ¿±êΪǶÈëʽϵͳµÄÒº¾§ÏÔʾÆÁÄ»£¨LED£©¡£
///////////////////////////////////////////////////////////////////////////////
// º¯ÊýÃû³Æ: DrawText
// ¹¦ÄÜ˵Ã÷: ÔÚÏÔʾÆÁÉÏ»æÖÆÎÄ×Ö
// ²ÎÊý˵Ã÷: xPos ---ºá×ø±êµÄλÖà [0 .. 30]
// yPos ---×Ý×ø±êµÄλÖà [0 .. 64]
// ... ¿ÉÒÔͬÊý×ÖÒ»ÆðÏÔʾ£¬ÐèÉè ......
c# 4.0ÐÂÌØÐÔÒ»ÀÀ
ÖÕÓÚ¾²ÏÂÐÄÀ´×ÐϸÌýÁËÒ»±éAnders Hejlsberg£¨Visual Studio×éµÄTECHNICAL FELLOW£¬C#µÄÉè¼ÆÕßÖ®Ò»£©ÔÚPDC08ÉϽ²µÄ“The Future of C#”£¨http://channel9.msdn.com/pdc2008/TL16/£©¡£
»Ø¹ËC#·¢Õ¹µÄÀúÊ·£¬C#1.0ÍêÈ«ÊÇÄ£·ÂJava£¬²¢±£ÁôÁËC/C++µÄÒ»Ð©ÌØÐÔÈçstruct£¬ÐÂѧÕߺÜÈÝÒ×ÉÏÊÖ£»C#2.0¼ÓÈëÁË·ºÐÍ£¬Ò²ÓëJava1.5µÄ·ºÐÍÈç³öÒ»ÕÞ£»C#3.0¼ÓÈëÁËÒ»¶ÑÓï·¨ÌÇ£¬²¢ÔÚûÓÐÐÞ¸ÄCLRµÄÇé¿öÏÂÒýÈëÁËLinq£¬¼òÖ±ÊÇÉñÀ´Ö®±Ê£¬ËäÈ»ºÜ¶àÏîÄ¿³öÓÚ¸÷ÖÖ¸÷ÑùÈçÐÔÄÜÖ®ÀàµÄÔÒòûÓвÉÓ㬵«·Ç³£ÊʺÏСÐͳÌÐòµÄ¿ìËÙ¿ª·¢£¬¼õÇáÁ˳ÌÐòÔ±µÄ¹¤×÷Á¿£¬Ò²Ìá¸ßÁË´úÂëµÄ¿É¶ÁÐÔ£»C#4.0Ôö¼ÓÁ˶¯Ì¬ÓïÑÔµÄÌØÐÔ£¬´ÓÀïÃæ¿ÉÒÔ¿´µ½ºÜ¶àjavascript¡¢pythonÕâЩ¶¯Ì¬ÓïÑÔµÄÓ°×Ó¡£ËäȻԽÀ´Ô½Æ«À뾲̬ÓïÑԵĵÀ·£¬µ«´ÓÁíÒ»¸ö½Ç¶ÈÀ´Ëµ£¬ÕâÐ©ÌØÐÔÒ²¶¼ÊÇΪÁËÌá¸ß³ÌÐòÔ±µÄÉú²úÁ¦¡£ÖÁÓÚ±»½ÓÊÜÓë·ñ£¬»¹ÊÇÈÃʱ¼äÀ´Ëµ»°°É¡£
PS£ºÕâÀïÃæ»¹ÓÐÒ»µã°æ±¾ºÅµÄС²åÇú——VS2008Ëù¶ÔÓ¦µÄ.Net FrameworkÊÇ3.5£¬C#ÊÇ3.0£¬CLRÊÇ2.0£¬¼°Æä»ìÂÒ£¬MSÖÕÓÚϾöÐÄÔÚVS2010ÖаÑÕâÈý¸ö°æ±¾ºÅ¶¼Í³Ò»³ÉÁË4.0£¬ÓÚÊÇCLR3²»ÖªËùÖÕ……
Dynamically Typed Object
C#4.0¼ÓÈëÁËdynamic¹Ø¼ü×Ö£¬¿ÉÒÔÉêÃ÷ ......
²ÉÓÃc/s ¿Í»§¶ËºÍ·þÎñ¶Ëģʽ½øÐÐÎļþºÍÃüÁîÊý¾ÝµÄ´«Ê䣬ÒÔ¼°Êý¾ÝµÄ½»»»¡£c/s ºÍb/s p2pµÈ¶àÖÖ¼¼ÊõÏë½áºÏ¡£
Ò»£¬cs ÍøÂçµÄʵÏÖ
²ÉÓô«Í³µÄ¿Í»§¶ËºÍ·þÎñ¶Ëģʽ£¬ÓÃtcp/ip ÐÒé½øÐÐÊý¾ÝµÄ½»»¥ºÍ´«µÝ¡£
¶þ£¬csÍøÂ翪·¢
Ä£·ÂÖøÃûµÄ»Ò¸ë×ÓÈí¼þ£¬»Ò¸ë×ӵĵ½À´£¬¸øÍøÂçÊÀ½ç£¬´øÀ´ÁËеĻîÁ¦£¬¸øÈËÃÇ´øÀ´ÐµÄÌåÑ飬
ºÍ¹ÛÄÕâÒ²ÊÇ»¥ÁªÍø±ØÈ»µÄ½á¹û¡£
Èý£¬csÍøÂçµÄȱµã
¶ÔÍøÂçÒªÇó¸ß£¬ÓÐÆÕ¼°ºÍȺÌåµÄʵÓÃÐÔ£¬¶¼±Èbs ·½Ê½²î¡£
ËÄ£¬csÍøÂçµÄ·¢Õ¹
½áºÏÁ˶àÖֺڿͼ¼Êõ£¬´Ù½øÁËÍøÂçÔڶ෽λµÄ·¢Õ¹¡£
PS:ΪÁËÌåÏÖÎÄÕµÄÔ´´ÐÔ,¹Ê¼Ó¶àÁËÐí¶à´í±ð×Ö,ÇëÎðץȡ ......
¸Õ¸Õ¿´¹ýÕâÆª¡¶30 years of C¡·£¬»ØÏëÁËÕ⼸ÄêµÄѧϰÀú³Ì¡£
ÔÚ´óѧÀÎÒѧϰµÄµÚÒ»ÃųÌÐòÉè¼ÆÓïÑÔÊÇC£¬µ«»¨Ê±¼ä×î¶àµÄ»¹ÊÇC++¡£´óÔ¼ÎåÄêǰ£¬¿ªÊ¼¿Ð¡¶ C++±à³Ì˼Ïë¡·Á½¾í±¾£¬ÓÃDev-cppÔÚ»úÆ÷Á·Ï°×ÅÊéÉϵÄÒ»¸ö¸öÀý×Ó³ÌÐò£¬Ö®ºóÓÖѧϰÁËÃæÏò¶ÔÏó±à³Ì¡¢STL¡¢Ä£°å¡£Æ¾×ÅÕâЩֽÉÏ̸±øµÄ¾Àú£¬²Î¼ÓÁËÊýѧ½¨Ä£±ÈÈü£¬Ð´Á˼¸¸öÊýÖµ¼ÆËãÓëÔ˳ïѧµÄС³ÌÐò£¬Ð¡Óгɾ͸С£ÔÙÖ®ºó²Î¼ÓACM³ÌÐòÉè¼Æ±ÈÈü£¬ÕâÆÚ¼äÊܵ½ACM´ú±í¶ÓµÄÀÏʦºÍͬѧµÄÓ°Ï죬¿ªÊ¼½Ó´¥Unix²¢½ÓÊÜ×ÔÓÉ/¿ªÔ´Èí¼þµÄ˼Ïë¡£µ«ÊÇÔÚ²ÎÈüÆÚ¼ä£¬ÎÒ·¢ÏÖѧ»áÁËC++¡¢STLÕâЩ»¹ÊDz»ÄܰÑÄÇЩÎÊÌâ¸ã¶¨¡£È»ºó×ܽá½Ìѵ£¬¿ÉÄÜÊÇ»ù´¡²»ÀΡ¢ÄÚ¹¦²»¹»£¬ÓÚÊÇ¿ªÊ¼·µ¹¤£¬ÖØÑ§CºÍÊý¾Ý½á¹¹¡£ÂòÁËÒ»ºÐA4´òÓ¡Ö½£¬°ÑÖ½¶ÔÕÛ¿ªÀ´Á·Ï°ÔÚÖ½ÉÏÓÃCд´úÂë¡£½ñÌ죬µ±ÎÒ¿´µ½¡¶30 years of C¡·ÀïµÄÕâÒ»¾ä“ I just read the book cover-to-cover and wrote out the exercises on paper. ”ºÜÓй²Ãù¡£Ö½ÉÏд´úÂëÆÄÓÐдɢÎĵĸоõ£¬µ±È»Ò²ÊÇÐÎÉ¢¶øÉñ²»É¢µÄ¡£KnuthÔç¾Í˵¹ýÀàËÆµÄ»°£¬±àд³ÌÐòµÄ¹ý³ÌÄܸøÈËÒÔÃÀµÄÏíÊÜ£¬¾ÍÏñдʫ×÷ÇúÒ»Ñù¡£ÎÒÏëËûÀÏÈ˼ÒÓ¦¸ÃÒ²ÓйýÖ½ÉÏд³ÌÐòµÄ¾Àú¡£ÑÔ¹éÕý´«£¬Ð´Í ......
¸Õ¸Õ¿´¹ýÕâÆª¡¶30 years of C¡·£¬»ØÏëÁËÕ⼸ÄêµÄѧϰÀú³Ì¡£
ÔÚ´óѧÀÎÒѧϰµÄµÚÒ»ÃųÌÐòÉè¼ÆÓïÑÔÊÇC£¬µ«»¨Ê±¼ä×î¶àµÄ»¹ÊÇC++¡£´óÔ¼ÎåÄêǰ£¬¿ªÊ¼¿Ð¡¶ C++±à³Ì˼Ïë¡·Á½¾í±¾£¬ÓÃDev-cppÔÚ»úÆ÷Á·Ï°×ÅÊéÉϵÄÒ»¸ö¸öÀý×Ó³ÌÐò£¬Ö®ºóÓÖѧϰÁËÃæÏò¶ÔÏó±à³Ì¡¢STL¡¢Ä£°å¡£Æ¾×ÅÕâЩֽÉÏ̸±øµÄ¾Àú£¬²Î¼ÓÁËÊýѧ½¨Ä£±ÈÈü£¬Ð´Á˼¸¸öÊýÖµ¼ÆËãÓëÔ˳ïѧµÄС³ÌÐò£¬Ð¡Óгɾ͸С£ÔÙÖ®ºó²Î¼ÓACM³ÌÐòÉè¼Æ±ÈÈü£¬ÕâÆÚ¼äÊܵ½ACM´ú±í¶ÓµÄÀÏʦºÍͬѧµÄÓ°Ï죬¿ªÊ¼½Ó´¥Unix²¢½ÓÊÜ×ÔÓÉ/¿ªÔ´Èí¼þµÄ˼Ïë¡£µ«ÊÇÔÚ²ÎÈüÆÚ¼ä£¬ÎÒ·¢ÏÖѧ»áÁËC++¡¢STLÕâЩ»¹ÊDz»ÄܰÑÄÇЩÎÊÌâ¸ã¶¨¡£È»ºó×ܽá½Ìѵ£¬¿ÉÄÜÊÇ»ù´¡²»ÀΡ¢ÄÚ¹¦²»¹»£¬ÓÚÊÇ¿ªÊ¼·µ¹¤£¬ÖØÑ§CºÍÊý¾Ý½á¹¹¡£ÂòÁËÒ»ºÐA4´òÓ¡Ö½£¬°ÑÖ½¶ÔÕÛ¿ªÀ´Á·Ï°ÔÚÖ½ÉÏÓÃCд´úÂë¡£½ñÌ죬µ±ÎÒ¿´µ½¡¶30 years of C¡·ÀïµÄÕâÒ»¾ä“ I just read the book cover-to-cover and wrote out the exercises on paper. ”ºÜÓй²Ãù¡£Ö½ÉÏд´úÂëÆÄÓÐдɢÎĵĸоõ£¬µ±È»Ò²ÊÇÐÎÉ¢¶øÉñ²»É¢µÄ¡£KnuthÔç¾Í˵¹ýÀàËÆµÄ»°£¬±àд³ÌÐòµÄ¹ý³ÌÄܸøÈËÒÔÃÀµÄÏíÊÜ£¬¾ÍÏñдʫ×÷ÇúÒ»Ñù¡£ÎÒÏëËûÀÏÈ˼ÒÓ¦¸ÃÒ²ÓйýÖ½ÉÏд³ÌÐòµÄ¾Àú¡£ÑÔ¹éÕý´«£¬Ð´Í ......
²Ù×÷ϵͳ£ºlinux debian 4.0£¬ python°æ±¾2.5
s1:°²×°python2.5-dev¡£ÒòΪPython.hÊÇÔÚdev°üÖвÅÓС£
test@debian:~/test_python_c$ aptitude search python2.5-dev
p python2.5-dev - Header files and a static library for Python.
test@debian:~/test_python_c$ sudo aptitude install python2.5-dev
...
test@debian:~/test_python_c$ aptitude search python2.5-dev
i python2.5-dev - Header files and a static library for Python.
s2:×¼±¸²âÊÔÎļþ——CÓïÑÔº¯Êý
//filename:example.c
int fact(int n)
{
if(n<=1)
return 1;
else
return n*fact(n-1);
}
s3: ±àд·â×°½Ó¿Ú
//filename: wrap.c
#include <Python.h>
PyObject* wrap_fact(PyObject* self, PyObject* args)
{
int n, result;
if (! PyArg_ParseTuple(args, "i:fact", &n))
return NULL;
result = fact(n);
return Py_BuildValue("i", result);
}
static PyMethodDef exampleMethods[] =
{
{"fact", wrap_fact, METH_VARARGS, "Caculate N!"},
{NULL, NULL}
};
void initexam ......
²Ù×÷ϵͳ£ºlinux debian 4.0£¬ python°æ±¾2.5
s1:°²×°python2.5-dev¡£ÒòΪPython.hÊÇÔÚdev°üÖвÅÓС£
test@debian:~/test_python_c$ aptitude search python2.5-dev
p python2.5-dev - Header files and a static library for Python.
test@debian:~/test_python_c$ sudo aptitude install python2.5-dev
...
test@debian:~/test_python_c$ aptitude search python2.5-dev
i python2.5-dev - Header files and a static library for Python.
s2:×¼±¸²âÊÔÎļþ——CÓïÑÔº¯Êý
//filename:example.c
int fact(int n)
{
if(n<=1)
return 1;
else
return n*fact(n-1);
}
s3: ±àд·â×°½Ó¿Ú
//filename: wrap.c
#include <Python.h>
PyObject* wrap_fact(PyObject* self, PyObject* args)
{
int n, result;
if (! PyArg_ParseTuple(args, "i:fact", &n))
return NULL;
result = fact(n);
return Py_BuildValue("i", result);
}
static PyMethodDef exampleMethods[] =
{
{"fact", wrap_fact, METH_VARARGS, "Caculate N!"},
{NULL, NULL}
};
void initexam ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. registerbgidriverº¯Êý
registerbgidriverº¯ÊýµÄ¹¦ÄÜÊǵǼÒÑÁ¬½Ó½øÀ´µÄͼÐÎÇý¶¯³ÌÐò´úÂ룬ÆäÓ÷¨Îª£ºint registerbgidriver(void(*driver)(void));³ÌÐòʵÀýÈçÏ£º
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
errorcode = registerbgidriver(EGAVGA_driver);
if (errorcode < 0)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
&nbs ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. registerbgidriverº¯Êý
registerbgidriverº¯ÊýµÄ¹¦ÄÜÊǵǼÒÑÁ¬½Ó½øÀ´µÄͼÐÎÇý¶¯³ÌÐò´úÂ룬ÆäÓ÷¨Îª£ºint registerbgidriver(void(*driver)(void));³ÌÐòʵÀýÈçÏ£º
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
errorcode = registerbgidriver(EGAVGA_driver);
if (errorcode < 0)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
&nbs ......