Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ʵÏÖ——1

ÎÊÌâÃèÊö£ºÒ»Ë³ÐòÎļþÖÐÖÁ¶à´æÔÚ10000000¸ö¼Ç¼£¬Ã¿Ìõ¼Ç¼¶¼ÊÇÒ»¸ö7λÕûÊý£¬Çë¶Ô´ËÎļþÖÐÊý¾Ý½øÐÐÅÅÐò¡£
ÒªÇó£º1.³ÌÐò¿ÉʹÓÃÄÚ´æÖ»ÓÐ1MB¡£2.³ÌÐòÔËÐÐʱ¼ä¾¡¿ÉÄܵĶ̡£
²¹³ä˵Ã÷£ºÃ¿¸ö¼Ç¼¶¼ÊÇÒ»¸ö7λÕýÕûÊý£¬²¢ÇÒûÓÐÆäËûµÄ¹ØÁªÊý¾Ý£¬Ã¿¸öÕûÊýÖÁ¶àÖ»ÄܳöÏÖÒ»´Î¡£
ʵÏÖ¸ÙÒª£º
ÔÚÏÖʵÖУ¬Î»Í¼ºÍλÏòÁ¿ºÜ³£¼û£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒ»¸ö20λµÄ×Ö·û´®À´±íʾһ¸öСÐ͵ÄСÓÚ20µÄ·Ç¸ºÕûÊý¼¯ºÏ¡£ÀýÈ磺ÎÒÃÇ¿ÉÒÔ½«¼¯ºÏ£û1£¬2£¬3£¬5£¬8£¬13£ý´æ´¢ÔÚÏÂÃæÕâ¸ö×Ö·û´®ÖУº01110100100001000000.¼¯ºÏÖдú±íÊý×Ö µÄ¸÷¸öλÉèÖÃΪ1£¬¶øÆäËûµÄλȫ²¿¶¼ÉèΪ0.
      ÔÚÏÖʵÎÊÌâÖУ¬Ã¿¸öÕûÊýµÄ7¸öÊ®½øÖÆÊý×Ö±íʾÁËÒ»¸öСÓÚǧÍòµÄÊý×Ö¡£ÎÒÃǽ«Ê¹ÓÃÒ»¸ö¾ßÓÐһǧÍòλµÄ×Ö·û´®±íʾ¸ÃÎļþ£¬ÔÚ¸Ã×Ö·û´®ÖУ¬µ±ÇÒ¹«µ±ÕûÊýiÔÚ¸ÃÎļþÖÐʱ£¬µÚi¸öλ²Å´ò¿ª£¨ÉèΪ1£©¡£
ʵÏÖ´úÂ룺
1.λ²Ù×÷Í·Îļþ£ºbit.h
 #include <stdio.h>
#include <stdlib.h>
#include <math.h>
#ifndef BIT_H
#define BIT_H
#define BIT_SIZE 10000000
#define BIT_UNIT int
unsigned int GetBitUnitSize(void);
unsigned int GetBitArraySize(void);
void InitBitArray(BIT_UNI ......

¡¶±à³ÌÖéçá¡·ÎÊÌâµÄCʵÏÖ——2£ºÏòÁ¿Ðýת

 #include <stdio.h>
#include <stdlib.h>
#define SIZE 17
void reverse(int start, int end);
int data[SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
int main(void)
{
int i = 5;
reverse(0, i - 1);
reverse(i, SIZE-1);
reverse(0, SIZE-1);
return 0;
}
void reverse(int start, int end)
{
int t, i, mid;;
mid = (end - start) % 2 == 0 ? (end - start) / 2 : (end - start) / 2 +1;
for(i = 0; i < mid; i ++){
t = data[i + start];
data[start + i] = data[end - i];
data[end - i] = t;
}

for(i = start; i <= end; i++)
printf("%d ", data[i]);
putchar('\n');
return;

}
......

Keil C51 vs ±ê×¼C

ÉîÈëÀí½â²¢Ó¦ÓÃC51¶Ô±ê×¼ANSICµÄÀ©Õ¹ÊÇѧϰC51µÄ¹Ø¼üÖ®Ò»¡£ÒòΪ´ó¶àÊýÀ©Õ¹¹¦Äܶ¼ÊÇÖ±½ÓÕë¶Ô8051ϵÁÐCPUÓ²¼þµÄ¡£´óÖÂÓÐÒÔÏÂ8 Àࣺ 8051´æ´¢ÀàÐͼ°´æ´¢ÇøÓòl;  ´æ´¢Ä£Ê½l´æ´¢Æ÷ÀàÐÍÉùÃ÷l±äÁ¿ÀàÐÍÉùÃ÷l λ±äÁ¿ÓëλѰַl  ÌØÊ⹦ÄܼĴæÆ÷(SFR)l C51Ö¸Õël  º¯ÊýÊôÐÔ¾ßÌå˵Ã÷ÈçÏÂ(8031ΪȱʡCPU)¡£
µÚÒ»½Ú Keil C51À©Õ¹¹Ø¼ü×Ö
C51 V4.0°æ±¾ÓÐÒÔÏÂÀ©Õ¹¹Ø¼ü×Ö(¹²19¸ö)£º_at_ ;  idata;  sfr16;  alien;  interrupt;  smallbdata;  large;  _task_;  Code;  bit;  pdatausing;  reentrant xdata;  compact sbit;  data; sfr
µÚ¶þ½Ú ÄÚ´æÇøÓò(Memory Areas)£º
1. Pragram Area£º
ÓÉCode˵Ã÷¿ÉÓжà´ï64kBytesµÄ³ÌÐò´æ´¢Æ÷
2. Internal Data Memory
ÄÚ²¿Êý¾Ý´æ´¢Æ÷¿ÉÓÃÒÔϹؼü×Ö˵Ã÷£ºdata£ºÖ±½ÓÑ°Ö·Çø£¬ÎªÄÚ²¿RAMµÄµÍ128 ×Ö½Ú  00H¡«7FH£¬idata£º¼ä½ÓÑ°Ö·Çø£¬°üÀ¨Õû¸öÄÚ²¿RAMÇø 00H¡«FFH£¬bdata£º¿ÉÎ»Ñ°Ö·Çø£¬20H¡«2FH
3. External Data Memory
ÍⲿRAMÊÓʹÓÃÇé¿ö¿ÉÓÉÒÔϹؼü×Ö±êʶ£ºxdata£º¿ÉÖ¸¶¨¶à´ï64KBµÄÍⲿֱ½ÓÑ°Ö·Çø£¬µØÖ··¶Î§0000H¡«0FFFFHpdata£ºÄÜ·ÃÎÊ1Ò³(25bBytes)µÄÍ ......

cÁ´±íµÄ2ÖÖÐÎʽ

c±ä³ÉµÄ¶ÔÏó´ó¶àÊǹ²ÏíÄÚ´æÖÐÉêÇ룬±È½ÏÉÙÓÃmallocÖ±½ÓÀ´ÉêÇ룬ËùÒÔÁ´±íÉè¼ÆÒ»°ãÊÇÏÂÃæ2Öнṹ£º
¶ÔÏó --> ¶ÔÏó --> ¶ÔÏó
¶ÔÏó -->Á´±í¶ÔÏó-->¶ÔÏó -->Á´±í¶ÔÏó
£¨1£©¶ÔÓÚµÚÒ»ÖÖ£¬Á´±íÖ±½Ó¹ØÁªµ½¶ÔÏó±¾Éí£¬ËùÒÔÈç¹ûÒ»¸ö¶ÔÏóÔÚÏûÍöʱ£¬Ã»Óм°Ê±ÇåÀíµôÁ´±í¹ØÏµ£¬Ôò»áµ¼ÖÂÁ´±íµôÁ´¡£
£¨2£©Á´±í¶ÔÏó±¾ÉíÊÇÒ»¶ÎÁ¬ÐøµÄ¿Õ¼ä£¬¶ÔÏóÉíÉÏÖ»¼Ç¼Ï໥µÄÖ¸Ïò£¬²»Êµ¼ÊÓ°ÏìÁ´±íµÄÁ´Ìõ£¬ËùÒÔÈç¹û¶ÔÏó²»Ð¡Ðı»Çå³ý£¬ÄÇôÒÀÈ»¿ÉÒÔ¿¼Á´±í¶ÔÏóά³ÖסÁ´±í£¬È»ºóͨ¹ýÔÙ´ÎÇå³ýÁ´±í¶ÔÏó£¬À´±£Ö¤Á´±íµÄÍêÕûÐÔ£¬¼õÉÙ³ö´íµÄ¿ÉÄÜ£¬µ«ÊÇÂß¼­ÉÏÒªÏà¶ÔÓÚµÚÒ»¸ö¸´ÔÓЩ¡£
--- Õâ¸ö²»ÊÇ˵²»½¨ÒéÓÃ1£¬¶øÊÇÈç¹ûÓÃ1µÄ»°£¬Ò»¶¨Òª±£Ö¤ÔÚ¶ÔÏóɾ³ýµÄʱºò£¬Ò»¶¨²»ÄÜÊÇÁ´±íÖеÄÒ»²¿·Ö£¬Ò»¶¨Òª±£Ö¤ÔÙ´Îɾ³ý£¬²»ÔÊÐíÈκδíÎó´æÔÚ¡£ ......

extern "C"

      ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ­´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔ­À´µÄC´úÂëºÍÒѾ­Ð´ºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾ­ÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£¬µ«ÊÇÎÒÃÇÐèҪʹÓÃC++À´Ð´Õâ¸öеĴúÂë¡£Èç¹ûÕâ¸ö´úÂëʹÓõÄÊÇC++µÄ·½Ê½Á´½ÓÕâ¸öC¿âÎļþµÄ»°£¬ÄÇô¾Í»á³öÏÖÁ´½Ó´íÎó.ÎÒÃÇÀ´¿´Ò»¶Î´úÂë:Ê×ÏÈ£¬ÎÒÃÇʹÓÃCµÄ´¦Àí·½Ê½À´Ð´Ò»¸öº¯Êý£¬Ò²¾ÍÊÇ˵¼ÙÉèÕâ¸öº¯Êýµ±Ê±ÊÇÓÃCд³ÉµÄ:
//f1.c
extern "C"
{
void f1()
{
return;
}
}
¡¡¡¡±àÒëÃüÁîÊÇ:gcc -c f1.c -o f1.o ²úÉúÁËÒ»¸ö½Ðf1.oµÄ¿âÎļþ¡£ÔÙдһ¶Î´úÂëµ÷ÓÃÕâ¸öf1º¯Êý:
// test.cxx
//Õâ¸öextern±íʾf1º¯ÊýÔÚ±ðµÄµØ·½¶¨Ò壬ÕâÑù¿ÉÒÔͨ¹ý
//±àÒ룬µ«ÊÇÁ´½ÓµÄʱºò»¹ÊÇÐèÒª
//Á´½ÓÉÏÔ­À´µÄ¿âÎļþ.
extern void f1();
int main()
{
f1();
return 0;
}
¡¡¡¡Í¨¹ýgcc -c test.cxx -o test.o ²úÉúÒ»¸ö½Ðtest.oµÄÎļþ¡£È»ºó£¬ÎÒÃÇʹÓÃgcc test.o f1.oÀ´Á´½ÓÁ½¸öÎļþ£¬¿ÉÊdzö´íÁË£¬´íÎóµÄÌáʾÊÇ:
test.o(.text + 0x1f):test.cxx ......

C/C++ µÄÈ«¾Ö±äÁ¿³õʼ»¯Óë²»³õʼ»¯µÄÇø±ð

ÔÚCÓïÑÔÀȫ¾Ö±äÁ¿Èç¹û²»³õʼ»¯µÄ»°£¬Ä¬ÈÏΪ0£¬Ò²¾ÍÊÇ˵ÔÚÈ«¾Ö¿Õ¼äÀ
int x =0; ¸ú int x; µÄЧ¹û¿´ÆðÀ´ÊÇÒ»ÑùµÄ¡£µ«ÆäʵÕâÀïÃæµÄ²î±ðºÜ´ó£¬Ç¿ÁÒ½¨Òé´ó¼ÒËùÓеÄÈ«¾Ö±äÁ¿¶¼Òª³õʼ»¯£¬ËûÃǵÄÖ÷Òª²î±ðÈçÏ£º
±àÒëÆ÷ÔÚ±àÒëµÄʱºòÕë¶ÔÕâÁ½ÖÖÇé¿ö»á²úÉúÁ½ÖÖ·ûºÅ·ÅÔÚÄ¿±êÎļþµÄ·ûºÅ±íÖУ¬¶ÔÓÚ³õʼ»¯µÄ£¬½ÐÇ¿·ûºÅ£¬Î´³õʼ»¯µÄ£¬½ÐÈõ·ûºÅ¡£
Á¬½ÓÆ÷ÔÚÁ¬½ÓÄ¿±êÎļþµÄʱºò£¬Èç¹ûÓöµ½Á½¸öÖØÃû·ûºÅ£¬»áÓÐÒÔÏ´¦Àí¹æÔò£º
1¡¢Èç¹ûÓжà¸öÖØÃûµÄÇ¿·ûºÅ£¬Ôò±¨´í¡£
2¡¢Èç¹ûÓÐÒ»¸öÇ¿·ûºÅ£¬¶à¸öÈõ·ûºÅ£¬ÔòÒÔÇ¿·ûºÅΪ׼¡£
3¡¢Èç¹ûûÓÐÇ¿·ûºÅ£¬µ«Óжà¸öÖØÃûµÄÈõ·ûºÅ£¬ÔòÈÎѡһ¸öÈõ·ûºÅ¡£
»ùÓÚÒÔÉϹæÔò¿´ÏÂÃæµÄ³ÌÐò£º£¨±àÒëÆ÷Ϊgcc 3.4.6£¬ VCϽá¹û²»Ò»Ñù£©
main.cpp
int x;
void foo();
int main(int argc, char* argv[])
{
printf("x1:%d\n", x);
foo();
printf("x2:%d\n", x);
return 0;

var.cpp
int x;
void foo()
{
x = 2;

ÒòΪÁ½¸öÎļþÀïÃæµÄx¶¼±»³õʼ»¯ÁË£¬ËùÒÔ±àÒë³öÀ´µÄÁ½¸öÄ¿±êÎļþÀïx¶¼ÊÇÇ¿·ûºÅ£¬Á¬½ÓµÄʱºò»á±¨´í£º
multiple definition of `x' 
·ûºÏ¹æÔò1¡£
°Ñvar.cppÀïÃæµÄint x = 0;¸Ä³É int x; ²»×ö³õʼ»¯£¬±àÒë¡¢Á¬½ÓÎÞÈκ ......

C/C++ µÄÈ«¾Ö±äÁ¿³õʼ»¯Óë²»³õʼ»¯µÄÇø±ð

ÔÚCÓïÑÔÀȫ¾Ö±äÁ¿Èç¹û²»³õʼ»¯µÄ»°£¬Ä¬ÈÏΪ0£¬Ò²¾ÍÊÇ˵ÔÚÈ«¾Ö¿Õ¼äÀ
int x =0; ¸ú int x; µÄЧ¹û¿´ÆðÀ´ÊÇÒ»ÑùµÄ¡£µ«ÆäʵÕâÀïÃæµÄ²î±ðºÜ´ó£¬Ç¿ÁÒ½¨Òé´ó¼ÒËùÓеÄÈ«¾Ö±äÁ¿¶¼Òª³õʼ»¯£¬ËûÃǵÄÖ÷Òª²î±ðÈçÏ£º
±àÒëÆ÷ÔÚ±àÒëµÄʱºòÕë¶ÔÕâÁ½ÖÖÇé¿ö»á²úÉúÁ½ÖÖ·ûºÅ·ÅÔÚÄ¿±êÎļþµÄ·ûºÅ±íÖУ¬¶ÔÓÚ³õʼ»¯µÄ£¬½ÐÇ¿·ûºÅ£¬Î´³õʼ»¯µÄ£¬½ÐÈõ·ûºÅ¡£
Á¬½ÓÆ÷ÔÚÁ¬½ÓÄ¿±êÎļþµÄʱºò£¬Èç¹ûÓöµ½Á½¸öÖØÃû·ûºÅ£¬»áÓÐÒÔÏ´¦Àí¹æÔò£º
1¡¢Èç¹ûÓжà¸öÖØÃûµÄÇ¿·ûºÅ£¬Ôò±¨´í¡£
2¡¢Èç¹ûÓÐÒ»¸öÇ¿·ûºÅ£¬¶à¸öÈõ·ûºÅ£¬ÔòÒÔÇ¿·ûºÅΪ׼¡£
3¡¢Èç¹ûûÓÐÇ¿·ûºÅ£¬µ«Óжà¸öÖØÃûµÄÈõ·ûºÅ£¬ÔòÈÎѡһ¸öÈõ·ûºÅ¡£
»ùÓÚÒÔÉϹæÔò¿´ÏÂÃæµÄ³ÌÐò£º£¨±àÒëÆ÷Ϊgcc 3.4.6£¬ VCϽá¹û²»Ò»Ñù£©
main.cpp
int x;
void foo();
int main(int argc, char* argv[])
{
printf("x1:%d\n", x);
foo();
printf("x2:%d\n", x);
return 0;

var.cpp
int x;
void foo()
{
x = 2;

ÒòΪÁ½¸öÎļþÀïÃæµÄx¶¼±»³õʼ»¯ÁË£¬ËùÒÔ±àÒë³öÀ´µÄÁ½¸öÄ¿±êÎļþÀïx¶¼ÊÇÇ¿·ûºÅ£¬Á¬½ÓµÄʱºò»á±¨´í£º
multiple definition of `x' 
·ûºÏ¹æÔò1¡£
°Ñvar.cppÀïÃæµÄint x = 0;¸Ä³É int x; ²»×ö³õʼ»¯£¬±àÒë¡¢Á¬½ÓÎÞÈκ ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [6583] [6584] [6585] [6586] 6587 [6588] [6589] [6590] [6591] [6592]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ