2016/11/02
建立 mirror 的 Git Repo
《時 機》
Repo 架在甲地,但為了本地方便存取,須另架一個 mirror 的 Repo。
這個 local 的 Repo 只用來看 codes, log, branch info ....,不在其上修正.
2015/03/01
架設 SVN + Trac (with Apache Web Server)
☆ 1. 安裝必要的套件
2011/07/12
[軟體] Linux / 免費好用的程式碼編輯器
實力超強的高手可能光 vi 就夠用了,但是我還是幾乎沒在用(即使是文字模式下也都用 joe 這個editor)。
茲記錄一下不錯用的編輯器(尤其是便於寫程式碼)(非文字模式下的喔!):
2007/08/05
以 Mozilla 為核心的網頁編輯器
2006/11/20
Token-Pasting Operator (##)
C/C++ Preprocessor Reference |
The double-number-sign or "token-pasting" operator (##), which is sometimes called the "merging" operator, is used in both object-like and function-like macros. It permits separate tokens to be joined into a single token and therefore cannot be the first or last token in the macro definition.
If a formal parameter in a macro definition is preceded or followed by the token-pasting operator, the formal parameter is immediately replaced by the unexpanded actual argument. Macro expansion is not performed on the argument prior to replacement.
Then, each occurrence of the token-pasting operator in token-string is removed, and the tokens preceding and following it are concatenated. The resulting token must be a valid token. If it is, the token is scanned for possible replacement if it represents a macro name. The identifier represents the name by which the concatenated tokens will be known in the program before replacement. Each token represents a token defined elsewhere, either within the program or on the compiler command line. White space preceding or following the operator is optional.
This example illustrates use of both the stringizing and token-pasting operators in specifying program output:
#define paster( n ) printf( "token" #n " = %d", token##n )
int token9 = 9;
If a macro is called with a numeric argument like
paster( 9 );
the macro yields
printf( "token" "9" " = %d", token9 );
which becomes
printf( "token9 = %d", token9 );
From:
MSDN Microsoft
(http://msdn.microsoft.com/library/default.asp?url=
/library/en-us/vclang/html/_predir_token.2d.pasting_operator.asp)