ɾ³ý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 =
Ïà¹ØÎĵµ£º
¡¡¡¡ÔÚ×öACMÌâʱ£¬¾³£¶¼»áÓöµ½Ò»Ð©±È½Ï´óµÄÕûÊý¡£¶ø³£ÓõÄÄÚÖÃÕûÊýÀàÐͳ£³£ÏÔµÃ̫СÁË£ºÆäÖÐlong ºÍ int
·¶Î§ÊÇ[-2^31,2^31)£¬¼´-2147483648~2147483647¡£¶øunsigned·¶Î§ÊÇ[0,2^32)£¬¼´
0~4294967295¡£Ò²¾ÍÊÇ˵£¬³£¹æµÄ32λÕûÊýÖ»Äܹ»´¦Àí40ÒÚÒÔϵÄÊý¡£
¡¡¡¡ÄÇÓöµ½±È40ÒÚÒª´óµÄÊýÔõô°ìÄØ£¿Õâʱ¾ÍÒªÓõ½C++µÄ64λÀ©Õ¹ ......
ÓÃÁËÈýÖÖ·½·¨...
#if 0
void StringTokenize(const std::string& strSrc, const std::string& strDelimit, std::vector<std::string>& vecSub)
{
if (strSrc.empty() || strDelimit.empty())
{
throw "tokenize: empty string\n";
......
1¡¢ÔÚCÎļþÖе÷ÓÃC++ÎļþÖж¨ÒåµÄÎļþ
Ö±½ÓµÄ·½·¨ÊÇÔÚC++ ÎļþµÄÍ·²¿Ìí¼ÓÈçÏ´úÂë¶Î£º
extern "C"
{
int API(int A);
}
2¡¢C++½Ó¿ÚµÄ·½·¨
ÔÚC++Öе÷ÓÃCµÄº¯Êý£¬ÔÚCÍ·ÎļþÖмÓÈëÈçÏ´úÂ룺
#ifdef __cplusplus // ¿ªÊ¼
exte ......
ÎÊÌâÃèÊö£ºÐ´Ò»¸öº¯Êý£¬½ÓÊÜÒ»¸öÕûÊý£¨¼Ù¶¨ÓÃint±íʾ£©£¬Êä³ö¸ÃÕûÊýµÄ×Ö·û´®ÐÎʽ¡£²ÉÓÃÈçϺ¯ÊýÔÐÍ£º
void itoa ( int val, buf* );
ÕâÀï¼Ù¶¨buf×ã¹»´óÒÔÈÝÄÉÈκÎintÀàÐÍÊýÖµµÄ×Ö·û´®¡£
Õâ¸öÎÊÌ⣬³õ¿´ºÃÏñûÓÐʲôÄѶȡ£Èç¹ûÊÇ0£¬¾ÍÖ±½ÓÊä³ö'0'£»Èç¹ûÊÇÕýÊý£¬¾Íͨ¹ýȡģ(%)ºÍÇóÉÌ(/)ÔËËã¿ÉÒÔÖðλȡµÃ¸ÃÕûÊýµÄÊý×Ö£¬²¢° ......
mmapÊÇlinuxϵÄCreateFileMapping£¬ÓÃÀ´Ó³É䲢ͬ²½Îļþ¡£
ÕâÑùµÄ»°£¬±ÈÈçÎÒ×Ô¶¨ÒåÒ»ÖÖÎļþ¸ñʽ£¬°ÑËüдÈëµ½ÎļþÖУ¬ÏÖÔÚÏëÐÞ¸ÄÆäÖеÄÖµ£¬¾Í¿ÉÒÔÓÃÕâ¸öº¯Êý£¬°ÑÎļþÓ³Éäµ½ÄÚ´æÖÐ
È»ºóÓòÙ×÷Êý×éµÄ·½Ê½£¬À´½øÐÐÎļþµÄͬ²½¡£Èç¹û²»ÓÃÕâ¸öº¯Êý¾ÍµÃ£º
1¡¢¶¨ÒåÒ»¸ö½á¹¹Ìå
2¡¢¶¨Òå½á¹¹ÌåÊý×é
3¡¢¶ÁÈ¡Îļþ£¨w+£©
4¡¢ÐÞ¸ÄÎļþ ......