Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C·¢Éù³ÌÐò

#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
typedef struct {
      short int pitch;
      short int duration;
} NOTE;
NOTE notes[] = {{14, 500}, {16, 500}, {12, 500}, {0, 500}, {7, 1000}};
void setfreq(int hz)
{
       hz = 1193180 / hz;      // clocked at 1.19MHz
       _outp(0x43, 0xb6);      // timer 2, square wave
       _outp(0x42, hz);
       _outp(0x42, hz >> 8);
}
void playnote(NOTE note)
{
      _outp(0x61, _inp(0x61) | 0x03);   // start speaker going
      setfreq((int)(400 * pow(2, note.pitch / 12.0)));
      Sleep(note.duration);
      _outp(0x61, _inp(0x61) & ~0x03);  // stop that racket!
}
int main(int argc, char* argv[])
{
     int i;
     HANDLE h;
     h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL,
     OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
     if(h == INVALID_HANDLE_VALUE)
     {
           printf("Couldn't access giveio device\n");
           return -1;
     }
     for(i=0; i < sizeof(notes)/sizeof(int); ++i)
           playnote(notes[i]);
     CloseHandle(h);
     return 0;
}
Óм¸µãÐèҪעÒ⣺
1£¬\\\\.\\giveioÊÇ´ò¿ªµÄÉ豸£¬ÓÉÓÚÊÇÓÃ\\תÒå±íʾ\£¬ËùÒÔÉÏÊöÆäʵÊDZíʾ\\ . \
2£¬ÕâÖֵײãµÄ±à³ÌºÜÉÙ¡£ÒÔÉÏ_outp·ÃÎʵÄÊǵײã¼Ä´æÆ÷£¬¹¦ÄÜÈç×¢


Ïà¹ØÎĵµ£º

extern "C" Ïê½â

 extern "C" Ïê½â
ÔÚC++ÖУ¬ÎªÁËÖ§³ÖÖØÔØ»úÖÆ£¬ÔÚ±àÒëÉú³É»ã±à´úÂëʱ£¬º¯ÊýµÄÃû×ÖÒª¼ÓÈ뺯ÊýµÄ²ÎÊýÀàÐÍ»òÕß·µ»ØÖµÀàÐ͵ÈÐÅÏ¢
ÔÚCÖУ¬ÒòûÓÐÖØÔØ»úÖÆ£¬±àÒëºóµÄ´úÂëÖ»ÊǼòµ¥µÄº¯ÊýÃû×Ö¶øÒÑ£¬²»¼ÓÈëÆäËûµÄÐÅÏ¢ 
1. ²»¼ÓÈëextern "C"
testexternc.cpp
int mytest(void)
{
int a=10,b=20;
int c=a+b;
ret ......

¿É±äÄ¿±êC±àÒëÆ÷ µÚ4Õ ÀàÐÍ

C³ÌÐòÖоßÓзḻµÄÊý¾ÝÀàÐÍ£¬°üÀ¨ÉùÃ÷ÖÐÏÔʽ¶¨ÒåµÄÀàÐͺÍÓÃ×ö±í´ïʽÖмäÀàÐ͵ĵ¼³öÀàÐÍ¡£ÀýÈ磬ÏÂÃæµÄ¸³ÖµÓï¾ä°üº¬3 ÖÖ²»Í¬ÀàÐÍ:
    int *p, x;
    *p = x;
xÊÇÒ»¸ö´æ·ÅÕûÊýµÄµ¥ÔªµÄµØÖ·£¬Òò´ËxµÄµØÖ·µÄÀàÐÍÊÇ£ºÖ¸ÏòÒ»¸öÕûÊýµÄÖ¸Õë¡£xµÄÖµµÄÀàÐÍÊÇÕûÐÍ¡£Í¬Ñù, pµÄ×óÖµµÄÀàÐÍÊÇÖ¸ÏòÒ»¸öÕ ......

CÓëC++·ç¸ñ×Ö·û´®

C·ç¸ñ×Ö·û´®£º¶Ô×Ö·û´®½øÐвÙ×÷µÄ C º¯Êý¶¨ÒåÔÚÍ·Îļþ<cstring>ÖУ»
     1. ×Ö·û´®¶¨Ò壺char* result£»
     2. ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûÊÇnull×Ö·û£¨'\0'£©£¬¿ÉÒÔͨ¹ýÕâ¸ö×Ö·ûÈ·¶¨×Ö·û´®µÄ½áβ¡£
     3. strlen()·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£»Òò´Ë£¬ ......

cÓëc++µÄstaticº¯Êý


cÓëc++ staticº¯ÊýµÄÇø±ð
±¾ÎÄת×Ô£ºhttp://blog.csdn.net/lipps/archive/2007/05/18/1615419.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐǰÁ½ÖÖÖ»Ö¸ÔÚCÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±ä ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ