ɾ³ýc/c++Ô´³ÌÐòÖеÄ×¢ÊÍ
ÌâÄ¿£º±àдһ¸ö³ÌÐò£¬ÓÃÓÚ´¦Àíc/c++Ô´³ÌÐò£¬½«Ô´³ÌÐòÖеÄ×¢ÊͲ¿·ÖÈ¥µô
ÊäÈ룺c/c++ÎļþÃû
Êä³ö£º´¦ÀíºóµÄ³ÌÐòÔ´Îļþ
³ÌÐòα´úÂëÈçÏ£º
c1,c2:char
tag:int
a:¶ÁÈëÒ»¸ö×Ö·û´æÈëc1
if tag==0 //¶ÁÈë×Ö·û²»ÊÇ×¢ÊÍ
if c1=='/' //¿ÉÄÜÊÇ×¢Êͱê¼Ç
¶ÁÈëÒ»¸ö×Ö·û´æÈëc2
if c2=='*' //Ϊ/**/×¢Ê͵ĿªÍ·
tag = 2
else if c2=='/' //Ϊ//×¢Ê͵ĿªÍ·
tag = 1
else //²»ÊÇ×¢Êͱê¼Ç
½«c1, c2±£´æ
else //¶ÁÈëµÄ×Ö·ûΪ´úÂë
±£´æc1
else if tag==1 //¶ÁÈëµÄÊÇ//×¢ÊÍ
if c1=='\n' //ΪעÊͽáÊø±ê¼Ç
tag=0
else //¶ÁÈëµÄÊÇ/**/×¢ÊÍtag==2
if c1=='*' //¿ÉÄÜΪעÊͽáÊø±ê¼Ç
¶ÁÈëÒ»¸ö×Ö·û¸³¸øc2
if c2=='/' //ÊÇ/**/×¢Êͽáβ
tag=0
else //×¢ÊÍûÓнáÊø
nothing
goto a
³ÌÐòÇåµ¥ÈçÏ£º
//¶ÔÔ´Îļþ½øÐÐɨÃ裬ɾ³ýÆäÖеÄ×¢ÊÍ
#include <stdio.h>
void scan(char *filename)
{
int tag=0;//0:¶ÁÈ¡µÄ×Ö·ûΪ´úÂ룻1:¶ÁÈ¡µÄ×Ö·ûΪ//×¢ÊÍ£»2:¶ÁÈ¡µÄ×Ö·ûΪ/**/×¢ÊÍ
char temp1, temp2;
FILE *in, *out;
in = fopen(filename,"r");
if(in==NULL)
{
printf("cannot open the input file!");
}
out = fopen("out.c", "w");
if(out==NULL)
{
printf("cannot open the output file!");
}
temp1 = fgetc(in);
while(temp1!=EOF)
{
printf("%c", temp1);
if(0==tag)
{
if('/'==temp1)
{
temp2 = fgetc(in);
if('*'==temp2)
{
tag = 2;
}
else if('/'==temp2)
{
tag = 1;
}
else
{
fputc(temp1, out);
fputc(temp2, out);
}
}
else
{
fputc(temp1, out);
}
}
else if(1==tag)
{
if('\n'==temp1)
{
tag = 0;
}
}
else
{
if('*'==temp1)
{
temp2 =
Ïà¹ØÎĵµ£º
1¡¢ÔÚCÎļþÖе÷ÓÃC++ÎļþÖж¨ÒåµÄÎļþ
Ö±½ÓµÄ·½·¨ÊÇÔÚC++ ÎļþµÄÍ·²¿Ìí¼ÓÈçÏ´úÂë¶Î£º
extern "C"
{
int API(int A);
}
2¡¢C++½Ó¿ÚµÄ·½·¨
ÔÚC++Öе÷ÓÃCµÄº¯Êý£¬ÔÚCÍ·ÎļþÖмÓÈëÈçÏ´úÂ룺
#ifdef __cplusplus // ¿ªÊ¼
exte ......
ÐÞ¸Ämakefile£¬ÔÚLIBSÀïÃæ¼ÓÉÏ-lmemcached£¬±ÈÈçÔÀ´ gcc test.c£¬ÏÖÔÚ gcc test.c -lmemcached¡£Õâ¸ö¿â¾ÍÊÇlibmemcachedÌṩµÄ¡£
È»ºóÌí¼Ó#include<libmemcached/memcached.h>£¬Õâ¸öÎļþÒ²ÊÇlibmemcachedÌṩµÄ¡£
Ö÷º¯ÊýÀïÃæÐèÒªÌí¼Ó£º
memcached_st *memc;
uint32_t&nbs ......
/*±¾ÎÄÑ¡×Ô²©´´linuxʵÑéÖ¸µ¼Êé
*Áô×Å×Ô¼ºÑ§Ï°Ö®ÓÃ
*ÔÚÕâÀï±£´æ×Å£¬·ÖÏíÒ»ÏÂ*/
VI ¼ò½é
vi ÊÇ Linux/Unix ÊÀ½çÀKΪÆÕ±éµÄ¿ÉÊÓ»¯µÄÈ«ÆÁÄ»Îı¾±à¼Æ÷(visual edit),¼¸ºõ¿É
ÒÔ˵ÈκÎһ̨ Linux/Unix »úÆ÷¶¼»áÌṩÕâ¸öÈí¼þ¡£
vi ÓÐÈýÖÖ״̬,¼´±à¼·½Ê½¡¢²åÈ뷽ʽºÍÃüÁî·½Ê ......
´úÂë+½á¹û£¬²»×ö½âÊÍ
µ±È»£¬¶ÔÓÚpythonûÓÐvirtual functionһ˵£¬¹À¼Æµ±×÷¶Ô±ÈÒ»¸öÀý×Ó¿´¿´°É¡£
#include <iostream>
using namespace std;
class base
{
public:
virtual void foo() { cout << "base" << endl; }
base() { foo() ;}
};
class derive: public base
{
pub ......
mmapÊÇlinuxϵÄCreateFileMapping£¬ÓÃÀ´Ó³É䲢ͬ²½Îļþ¡£
ÕâÑùµÄ»°£¬±ÈÈçÎÒ×Ô¶¨ÒåÒ»ÖÖÎļþ¸ñʽ£¬°ÑËüдÈëµ½ÎļþÖУ¬ÏÖÔÚÏëÐÞ¸ÄÆäÖеÄÖµ£¬¾Í¿ÉÒÔÓÃÕâ¸öº¯Êý£¬°ÑÎļþÓ³Éäµ½ÄÚ´æÖÐ
È»ºóÓòÙ×÷Êý×éµÄ·½Ê½£¬À´½øÐÐÎļþµÄͬ²½¡£Èç¹û²»ÓÃÕâ¸öº¯Êý¾ÍµÃ£º
1¡¢¶¨ÒåÒ»¸ö½á¹¹Ìå
2¡¢¶¨Òå½á¹¹ÌåÊý×é
3¡¢¶ÁÈ¡Îļþ£¨w+£©
4¡¢ÐÞ¸ÄÎļþ ......