CÖкê#ºÍ##µÄÔËÓÃ
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
char a = 'a';
printf("%s\n",g(a)); // a
printf("%s\n",g(g(a))); // g(a)
printf("%s\n", h(f(1,2))); // 12
printf("%s\n", g(f(1,2))); // f(1,2)
printf("%s\n", g(h(f(1,2)))); // h(f(1,2))
printf("%s\n", h(g(f(1,2)))); // "f(1,2)"
printf("%s\n", h(h(f(1,2)))); // "12"
return 0;
}
Ïà¹ØÎĵµ£º
ÏîÄ¿ÖÐÒªÓõ½Ò»¸öÄ£¿é¡£¿´ÁËϸÃÄ£¿éµÄÓ÷¨£¬¾ÍÒÀºù«»Æ°µÄ°áµ½×Ô¼ºµÄ´úÂëÀïÃæÀ´ÁË¡£²»¹ýÔÚ±àÒëµÄʱºòÅöµ½ÁËÂé·³£¬ ÔÚ³ÌÐòÁ´½ÓµÄʱºò³ö´í£º“undefined reference to***",Ó¦¸ÃÊÇÒòΪûÓаüº¬ÏàÓ¦µÄ¿âÎļþ°É¡£
ÓÚÊDZȽÏÁËmake fileÎļþµÄд·¨£¬ÊÔͼÔÚÎÒÕâ±ß ......
wchar_t wsWorkingDir[256] = _T("");
CString strPDF(_T(""));
::GetCurrentDirectory(256, wsWorkingDir);
strPDF.Format(_T("%s"), wsWorkingDir);
if (strPDF.GetAt(strPDF.GetLength()-1) != '\\')
{
strPDF += '\\';
}
strPDF += "doc\\my.pdf" ......
Part I ÈçºÎÉÏ·
1. vi, vimÊDZàÒëÆ÷ô£¿
vi means visual editor£¬ÊÇÈí¼þÊÀ½çµÚÒ»¸öÈ«ÆÁÄ»±à¼Æ÷£¬×î³õµÄ×÷ÕßÊÇÏÖÔÚSun microsystemµÄBill Joy¡£
vim means Vi IMproved£¬¿ÉÒÔ¿´×÷ÊÇÔöÇ¿µÄvi¡£
ºÜ²»ÐÒ£¬ËûÃǶ¼²»ÊDZàÒëÆ÷£¬Èç¹ûÄãÒѾдºÃÁËfirst.c£¬ÄÇô²»ÄÜÖ¸ÍûviÃǽ«ÄãµÄÔ´´úÂë±ä³ÉÖ´ÐгÌÐò¡£
2. gcc, ......
ÎÒÒ»Ö±Ïë×öÒ»¸öÈí¼þ³öÀ´£¬Ö»ÊǼòµ¥µÄ£¬±ÈÈç˵һ¸ö¼Ó¼õ³Ë³ýµÄEXE¡£¿ÉÊÇÎÒÖªµÀÎÒ´íÁË£¬ÎÒ×î½üÑ¡ÐÞÁËÒ»Ãŵç×Ó¹¤³ÌÉè¼ÆÓëÖÆ×÷ºó²ÅÁ˽â±à³ÌµÄÄ¿µÄºÍ¹¤¾ßµÄ¶àÑùÐÔ¡£²»Í¬µÄÈí¼þÌṩ²»Í¬µÄ±àÒë»·¾³£¬ÎÒ·¢ÏÖÄ£ÄâÈí¼þµÄÇ¿µÄ¡£ÎÒʱ³£ÏëÎÒÊDz»ÊÇ¿ÉÒÔͨ¹ýÎÒÏÂÔØ°²×°µÄÈí¼þÀ´Ñ§Ï°Ð©Ô´³ÌÐò¡£ÊǵÄÓÐһЩ£¬¿ÉÊÇÍêÈ«¿´²»¶®£¬³ýÁË ......
ÏÂÃæÕâ¸ö³ÌÐòÊä³öʲô£¿
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}
ÄãÏàÐÅô£¿ÏÂà ......