Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : c

linux 2.6.24ÔÚS3C2410ÉϵÄÒÆÖ²(1)(»ùÓÚGEC2410)

1.ÏÂÔØlinux kernelÔ´´úÂë
µ½http://www.kernel.org/ÏÂÔØlinuxÄÚºËÔ´´úÂë,ÕâÀïÎÒÃÇʹÓÃ2.6.24.4µÄÄÚºË.
½âѹlinux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ cd linux-2.6.24.4
2.ÐÞ¸ÄMakefile,ÉèÖý»²æ±àÒëÆ÷
ARCH  ?= arm
CROSS_COMPILE ?= /home/GEC2410/toolchain/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-
3.ÉèÖÃNand·ÖÇø
ÐÞ¸Äarch/arm/plat-s3c24xx/common-smdk.cÖÐ108ÐеÄsmdk_default_nand_part[]ÈçÏÂ:
[matt@localhost linux-2.6.24.4]$ vim arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
#if 0
[0] = {
.name = "Boot Agent",
.size = SZ_16K,
.offset = 0,
},
[1] = {
.name = "S3C2410 flash partition 1",
.offset = 0,
.size = SZ_2M,
},
[2] = {
.name = "S3C2410 flash partition 2",
.offset = SZ_4M,
.size = SZ_4M,
},
[3] = {
.name = "S3C2410 flash partition 3",
.offset = SZ_8M,
.size = SZ_2M,
},
[4] = {
.name = "S3C2410 ......

linux 2.6.24ÔÚS3C2410ÉϵÄÒÆÖ²(1)(»ùÓÚGEC2410)

1.ÏÂÔØlinux kernelÔ´´úÂë
µ½http://www.kernel.org/ÏÂÔØlinuxÄÚºËÔ´´úÂë,ÕâÀïÎÒÃÇʹÓÃ2.6.24.4µÄÄÚºË.
½âѹlinux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ cd linux-2.6.24.4
2.ÐÞ¸ÄMakefile,ÉèÖý»²æ±àÒëÆ÷
ARCH  ?= arm
CROSS_COMPILE ?= /home/GEC2410/toolchain/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-
3.ÉèÖÃNand·ÖÇø
ÐÞ¸Äarch/arm/plat-s3c24xx/common-smdk.cÖÐ108ÐеÄsmdk_default_nand_part[]ÈçÏÂ:
[matt@localhost linux-2.6.24.4]$ vim arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
#if 0
[0] = {
.name = "Boot Agent",
.size = SZ_16K,
.offset = 0,
},
[1] = {
.name = "S3C2410 flash partition 1",
.offset = 0,
.size = SZ_2M,
},
[2] = {
.name = "S3C2410 flash partition 2",
.offset = SZ_4M,
.size = SZ_4M,
},
[3] = {
.name = "S3C2410 flash partition 3",
.offset = SZ_8M,
.size = SZ_2M,
},
[4] = {
.name = "S3C2410 ......

ʹÓÃCÓïÑÔÀ©Õ¹Python£¨Ò»£©

¿ª·¢»·¾³£ºUbuntu9.10,python2.6,gcc4.4.11,ubuntuϵÄpythonÔËÐаüºÍ¿ª·¢°üÊÇ·Ö¿ªµÄ£¬Òò´ËÐèÒªÔÚÐÂÀûµÃÀïÃæ°²×°python-all-dev,´Ó¶ø¿ÉÒÔÔÚ´úÂëÖÐÒýÓÃpythonµÄÍ·ÎļþºÍ¿â¡£2.ÏÂÃæÊÇÒ»¸ö×î¼òµ¥µÄ¿ÉÒÔ¹©pythonµ÷ÓõÄcÀ©Õ¹Ä£¿é£¬¼ÙÉèc³ÌÐòÎļþÃûΪfoo.c:´úÂë#include <Python.h>
static PyObject* foo_bar(PyObject* self, PyObject* args) {
    Py_RETURN_NONE;
}
static PyMethodDef foo_methods[] = {
    {"bar",(PyCFunction)foo_bar,METH_NOARGS,NULL},
    {NULL,NULL,0,NULL}
};
PyMODINIT_FUNC initfoo() {
    Py_InitModule3("foo", foo_methods, "My first extension module.");
}      ÎÒÃÇ¿ÉÒÔ½«ÉÏÊöÄ£¿é·Ö³É3¸ö²¿·Ö£º1£©cÄ£¿éÏë¶ÔÍⱩ¶µÄ½Ó¿Úº¯Êý¡£2£©Ìṩ¸øÍⲿµÄpython³ÌÐòʹÓõÄÒ»¸öcÄ£¿éº¯ÊýÃû³ÆÓ³Éä±í¡£3£©cÄ£¿éµÄ³õʼ»¯º¯Êý¡£Ä£¿éµÄµÚÒ»Ðн«Python.hÒýÈ뵽ģ¿éÖУ¬Õâ¸öÎļþ½«Ê¹µÃÄãµÄÄ£¿é¿ÉÒÔhook½øpythonµÄ½âÊÍÆ÷£¬´Ó¶ø¿ÉÒÔΪÍⲿµÄ ......

ʹÓÃCÓïÑÔÀ©Õ¹Python£¨Ò»£©

¿ª·¢»·¾³£ºUbuntu9.10,python2.6,gcc4.4.11,ubuntuϵÄpythonÔËÐаüºÍ¿ª·¢°üÊÇ·Ö¿ªµÄ£¬Òò´ËÐèÒªÔÚÐÂÀûµÃÀïÃæ°²×°python-all-dev,´Ó¶ø¿ÉÒÔÔÚ´úÂëÖÐÒýÓÃpythonµÄÍ·ÎļþºÍ¿â¡£2.ÏÂÃæÊÇÒ»¸ö×î¼òµ¥µÄ¿ÉÒÔ¹©pythonµ÷ÓõÄcÀ©Õ¹Ä£¿é£¬¼ÙÉèc³ÌÐòÎļþÃûΪfoo.c:´úÂë#include <Python.h>
static PyObject* foo_bar(PyObject* self, PyObject* args) {
    Py_RETURN_NONE;
}
static PyMethodDef foo_methods[] = {
    {"bar",(PyCFunction)foo_bar,METH_NOARGS,NULL},
    {NULL,NULL,0,NULL}
};
PyMODINIT_FUNC initfoo() {
    Py_InitModule3("foo", foo_methods, "My first extension module.");
}      ÎÒÃÇ¿ÉÒÔ½«ÉÏÊöÄ£¿é·Ö³É3¸ö²¿·Ö£º1£©cÄ£¿éÏë¶ÔÍⱩ¶µÄ½Ó¿Úº¯Êý¡£2£©Ìṩ¸øÍⲿµÄpython³ÌÐòʹÓõÄÒ»¸öcÄ£¿éº¯ÊýÃû³ÆÓ³Éä±í¡£3£©cÄ£¿éµÄ³õʼ»¯º¯Êý¡£Ä£¿éµÄµÚÒ»Ðн«Python.hÒýÈ뵽ģ¿éÖУ¬Õâ¸öÎļþ½«Ê¹µÃÄãµÄÄ£¿é¿ÉÒÔhook½øpythonµÄ½âÊÍÆ÷£¬´Ó¶ø¿ÉÒÔΪÍⲿµÄ ......

ACM cº¯Êý´óÈ«

º¯ÊýÃû: abs ¹¦  ÄÜ: ÇóÕûÊýµÄ¾ø¶ÔÖµ
Óà ·¨: int abs(int i);
³ÌÐòÀý:
#include <stdio.h>
#include <math.h>
int main(void)
{
  int number = -1234;
  printf("number: %d  absolute value: %d\n", number, abs(number));
  return 0;
}
º¯ÊýÃû: atof
¹¦  ÄÜ: °Ñ×Ö·û´®×ª»»³É¸¡µãÊý
Óà ·¨: double atof(const char *nptr);
³ÌÐòÀý:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
   float f;
   char *str = "12345.67";
   f = atof(str);
   printf("string = %s float = %f\n", str, f);
   return 0;
}
º¯ÊýÃû: atoi
¹¦  ÄÜ: °Ñ×Ö·û´®×ª»»³É³¤ÕûÐÍÊý
Óà ·¨: int atoi(const char *nptr);
³ÌÐòÀý:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
   int n;
   char *str = "12345.67";
   n = atoi(str);
   printf("string = %s integer = %d\n", str, n);
   return 0;
}
º¯ÊýÃû: atol
¹¦  Ä ......

C/C++¿ª·¢¾­ÑéÈ˲ÅÇë½ø£¡

ÉÏÖÜÀÏ°å·ÖÏÂÀ´6¸öְλÈí¼þ¿ª·¢·½ÃæµÄְλ¸øÎÒ£¬ÒªÎÒ°´Ö°Î»ÒªÇóÑ°ÕÒºÏÊʵÄÈ˲š£¾ÓÈ»ÊÇC/C++!¾ÝÎÒËùÖª£¬ÔÚÈ˲ſâÖУ¬JAVA È˲ŵ¹ÊÇÓ¦Óо¡ÓУ¬Ñ§CµÄ£¬»¹ÊÇǶÈëʽ¿ª·¢µÄ¿ÉÕæµÄºÃÉÙ°¡¡£ÎÒÓÖ²»ÊÇŮ洣¬ÄѵÀÎÒ»áÔìÈ˲Åô£¿ÒªÇóÌõ¼þ»¹Õâô¸ß£¡
ÒÔÏÂÊÇ´óÁ¬Èí¼þÔ°¼¸¼ÒÖªÃûÍâÆóίÍÐÎÒÃÇÕÐƸµÄְλÐÅÏ¢¡£
Position 1 Èí¼þ¿ª·¢¹¤³Ìʦ
ְλÄÚÈÝ£º ÐèÇó·ÖÎö£¬Éè¼Æ£¬±àÂë²âÊÔµÈ
ְλҪÇó£º Õý¹æ´óѧ±¾¿ÆÒÔÉÏ¡£
                 ¾«Í¨CÓïÑÔ£¬ÈçÓÐC++£¬JAVAµÈ¾­Ñé¸ü¼Ñ¡£
ÓÅÏÈÌõ¼þ£º Çý¶¯¿ª·¢¾­ÑéÕß¡£
                µç×ӻط£¬Î¢»úµÈHW֪ʶ¡£
                ÓÐÀûÓÃOS(Linux/QNX/iTron)½øÐпª·¢µÄ¾­ÑéÕß¡£
                ÈÕÓï3¼¶ÒÔÉÏÕß¡£
Position 2 Èí¼þ¿ª·¢team leader
ְλÄÚÈÝ£º ÒÔÉÏְλÍŶӵĹÜÀí¡£
ְλҪÇó£º Õý¹æ´óѧ±¾¿ÆÒÔÉÏ¡£
 & ......

C/C++¿ª·¢¾­ÑéÈ˲ÅÇë½ø£¡

ÉÏÖÜÀÏ°å·ÖÏÂÀ´6¸öְλÈí¼þ¿ª·¢·½ÃæµÄְλ¸øÎÒ£¬ÒªÎÒ°´Ö°Î»ÒªÇóÑ°ÕÒºÏÊʵÄÈ˲š£¾ÓÈ»ÊÇC/C++!¾ÝÎÒËùÖª£¬ÔÚÈ˲ſâÖУ¬JAVA È˲ŵ¹ÊÇÓ¦Óо¡ÓУ¬Ñ§CµÄ£¬»¹ÊÇǶÈëʽ¿ª·¢µÄ¿ÉÕæµÄºÃÉÙ°¡¡£ÎÒÓÖ²»ÊÇŮ洣¬ÄѵÀÎÒ»áÔìÈ˲Åô£¿ÒªÇóÌõ¼þ»¹Õâô¸ß£¡
ÒÔÏÂÊÇ´óÁ¬Èí¼þÔ°¼¸¼ÒÖªÃûÍâÆóίÍÐÎÒÃÇÕÐƸµÄְλÐÅÏ¢¡£
Position 1 Èí¼þ¿ª·¢¹¤³Ìʦ
ְλÄÚÈÝ£º ÐèÇó·ÖÎö£¬Éè¼Æ£¬±àÂë²âÊÔµÈ
ְλҪÇó£º Õý¹æ´óѧ±¾¿ÆÒÔÉÏ¡£
                 ¾«Í¨CÓïÑÔ£¬ÈçÓÐC++£¬JAVAµÈ¾­Ñé¸ü¼Ñ¡£
ÓÅÏÈÌõ¼þ£º Çý¶¯¿ª·¢¾­ÑéÕß¡£
                µç×ӻط£¬Î¢»úµÈHW֪ʶ¡£
                ÓÐÀûÓÃOS(Linux/QNX/iTron)½øÐпª·¢µÄ¾­ÑéÕß¡£
                ÈÕÓï3¼¶ÒÔÉÏÕß¡£
Position 2 Èí¼þ¿ª·¢team leader
ְλÄÚÈÝ£º ÒÔÉÏְλÍŶӵĹÜÀí¡£
ְλҪÇó£º Õý¹æ´óѧ±¾¿ÆÒÔÉÏ¡£
 & ......

TCP£¨SOCKETS£©±à³Ì C/C++ʵÏÖ

ͨÐÅ
Server£º
#pragma comment(lib, "ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>

void main()
{
//°æ±¾Ð­ÉÌ
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);

if(err!=0)
{
return 0;
}

if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1) //wsaData.wVersion!=0x0101
{
WSACleanup();
return 0;
}

//´´½¨Socket
SOCKET sockSvr = socket(AF_INET,SOCK_STREAM,0);

//´´½¨IPµØÖ·ºÍ¶Ë¿Ú
SOCKADDR_IN addrSvr;

addrSvr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);

//°ó¶¨¶Ë¿Ú¼àÌý
bind(sockSvr,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR));
listen(sockSvr,5);

sockaddr_in addrClient;
int len ......

TCP£¨SOCKETS£©±à³Ì C/C++ʵÏÖ

ͨÐÅ
Server£º
#pragma comment(lib, "ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>

void main()
{
//°æ±¾Ð­ÉÌ
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);

if(err!=0)
{
return 0;
}

if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1) //wsaData.wVersion!=0x0101
{
WSACleanup();
return 0;
}

//´´½¨Socket
SOCKET sockSvr = socket(AF_INET,SOCK_STREAM,0);

//´´½¨IPµØÖ·ºÍ¶Ë¿Ú
SOCKADDR_IN addrSvr;

addrSvr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);

//°ó¶¨¶Ë¿Ú¼àÌý
bind(sockSvr,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR));
listen(sockSvr,5);

sockaddr_in addrClient;
int len ......

C/C++λ²Ù×÷

C/C++λ²Ù×÷
Ò»¡¢´«Í³µÄC·½Ê½Î»²Ù×÷£º
1.»ù±¾²Ù×÷£º
  ʹÓÃÒ»¸öunsigned int±äÁ¿À´×÷ΪλÈÝÆ÷¡£
2.²Ù×÷·û£º
|  °´Î»»ò²Ù×÷·û£ºresult=exp1|exp2;µ±exp1ºÍexp2ÖжÔӦλÖÐÖÁÉÙÓÐÒ»¸öΪ1ʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
&  °´Î»Óë²Ù×÷·û£º£ºresult=exp1&exp2;µ±exp1ºÍexp2ÖжÔӦλȫΪ1ʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
^  °´Î»Òì»ò»ò²Ù×÷·û£ºresult=exp1^exp2;µ±exp1ºÍexp2ÖжÔӦλ²»Ïàͬʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
~  ·´×ª²Ù×÷·û£º½«Î»ÈÝÆ÷ÖеÄËùÓÐλ¶¼·´×ª£¬1±äΪ0£¬0±äΪ1¡£
< < °´Î»×óÒƲÙ×÷·û£ºexp < <n£¬½«ÈÝÆ÷ÖÐËùÓеÄλÏò×óÒÆn룬¿Õ³öµÄλÓÃ0Ìî³ä¡£
>> °´Î»ÓÒÒƲÙ×÷·û£ºexp>>n£¬½«ÈÝÆ÷ÖÐËùÓеÄλÏòÓÒÒÆn룬¿Õ³öµÄλÓÃ0Ìî³ä¡£
|=,&=,^= ·Ö±ð¶ÔÓ¦|&^ÈýÖÖ²Ù×÷·ûµÄ¸´ºÏ²Ù×÷·û¡£
3.³£ÓòÙ×÷
  ÕâÀïÎÒÃǼÙÉèÓÐÒ»¸öresultµÄunsigned int±äÁ¿ÓÃÀ´´¢´æ32¸öѧÉúµÄ³É¼¨£¨Í¨¹ýºÍ²»Í¨¹ý·Ö±ðÓÃ0ºÍ1£©£¬ÕâÑùresult¾ÍÓÐ33루result´ÓÓÒÖÁ×󣬴Ó0¿ªÊ¼¼ÆËãλÊý£¬ÔÚÕâ¸öÀý×ÓÖÐ0λ±»ÀË·Ñ£©¡£
(a) ½«µÚ27λÉèÖÃΪ¼°¸ñ£¨Éè×÷1£©ÆäËûλ²»±ä£º
  result|£½(1 < <2 ......

C/C++λ²Ù×÷

C/C++λ²Ù×÷
Ò»¡¢´«Í³µÄC·½Ê½Î»²Ù×÷£º
1.»ù±¾²Ù×÷£º
  ʹÓÃÒ»¸öunsigned int±äÁ¿À´×÷ΪλÈÝÆ÷¡£
2.²Ù×÷·û£º
|  °´Î»»ò²Ù×÷·û£ºresult=exp1|exp2;µ±exp1ºÍexp2ÖжÔӦλÖÐÖÁÉÙÓÐÒ»¸öΪ1ʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
&  °´Î»Óë²Ù×÷·û£º£ºresult=exp1&exp2;µ±exp1ºÍexp2ÖжÔӦλȫΪ1ʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
^  °´Î»Òì»ò»ò²Ù×÷·û£ºresult=exp1^exp2;µ±exp1ºÍexp2ÖжÔӦλ²»Ïàͬʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
~  ·´×ª²Ù×÷·û£º½«Î»ÈÝÆ÷ÖеÄËùÓÐλ¶¼·´×ª£¬1±äΪ0£¬0±äΪ1¡£
< < °´Î»×óÒƲÙ×÷·û£ºexp < <n£¬½«ÈÝÆ÷ÖÐËùÓеÄλÏò×óÒÆn룬¿Õ³öµÄλÓÃ0Ìî³ä¡£
>> °´Î»ÓÒÒƲÙ×÷·û£ºexp>>n£¬½«ÈÝÆ÷ÖÐËùÓеÄλÏòÓÒÒÆn룬¿Õ³öµÄλÓÃ0Ìî³ä¡£
|=,&=,^= ·Ö±ð¶ÔÓ¦|&^ÈýÖÖ²Ù×÷·ûµÄ¸´ºÏ²Ù×÷·û¡£
3.³£ÓòÙ×÷
  ÕâÀïÎÒÃǼÙÉèÓÐÒ»¸öresultµÄunsigned int±äÁ¿ÓÃÀ´´¢´æ32¸öѧÉúµÄ³É¼¨£¨Í¨¹ýºÍ²»Í¨¹ý·Ö±ðÓÃ0ºÍ1£©£¬ÕâÑùresult¾ÍÓÐ33루result´ÓÓÒÖÁ×󣬴Ó0¿ªÊ¼¼ÆËãλÊý£¬ÔÚÕâ¸öÀý×ÓÖÐ0λ±»ÀË·Ñ£©¡£
(a) ½«µÚ27λÉèÖÃΪ¼°¸ñ£¨Éè×÷1£©ÆäËûλ²»±ä£º
  result|£½(1 < <2 ......
×ܼǼÊý:2015; ×ÜÒ³Êý:336; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [24] [25] [26] [27] 28 [29] [30] [31] [32] [33]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ