そして、## C#言語の使用

する#include <stdio.hの> 

に#define ADD(A、B)のprintf(#A "+" #B "=%D \ n"は、((A)+(B)))
の#define XNAME(N)×# #N 
の#define PRINT_XN(N)のprintf( "X" #N "=%D \ n"は、X ## n)は


、INTメイン(ボイド)
{ 
	ADD(4,5)。

	int型XNAME(1)= 14。
	PRINT_XN(1)。

    0を返します。
}

  ヒント再びまた、マウスのコードを置くことができるvscodeで定義されている2つについて学習した後、あなたは、拡張マクロ定義の最終結果を見ることができます。このエディタは、それが推奨され、私はコードを書くと彼のヒット。

Aは、マクロの仮パラメータであれば1は、#Aは、「A」パラメータ名の文字列に変換されます。このプロセスは、(文字列化)の文字列と呼ばれています

2、オペレータ及び#同様である##演算子クラスマクロ機能(パラメータ化されたマクロ)交換部品のために使用することができます。##オペレータは、トークン2つのトークンに組み合わせることができます。

 

 

 

 

結果:

 

 ここで##演算子は、利便性の多くをプレイしていないようでしたが、私たちが使用していない感じていただけます。しかし、演算子を使用して##時にカプセル化と手続きの可読性を向上させることができます。GPIOハードウェアドライバにSTM32のプログラムを実行しているリアルタイムOSは、次のコードを持っています:

 

 

#define __STM32_PIN(index, gpio, gpio_index) \
{ \
index, GPIO##gpio##_CLK_ENABLE, GPIO##gpio, GPIO_PIN_##gpio_index \
}

 

 

 

マクロのような使用を想定し:

 

__STM32_PIN(7, C, 13)

 

 

 

このマクロは次のように拡張されます

 

{7, GPIOC_CLK_ENABLE, GPIOC, GPIO_PIN_13}
その後、設定するためにそれを取るにしてこれは、簡単にハードウェア・ピンをリストするために使用することができます

 

 

 

おすすめ

転載: www.cnblogs.com/CodeWorkerLiMing/p/12044617.html