整数のマクロ値を使用する文字列が必要です。しかし、それは関数の外にあるので、変数を作成したくありません。#pragmaコメントで使用しています。
だからこのようなもの:
#define num 7
#pragma comment(lib, "string" + num)
文字列と数値を組み合わせて作成します(#pragma comment(lib、 "string7")
あなたがしたいことは文字列化と呼ばれています:
#define stringify_1(x...) #x
#define stringify(x...) stringify_1(x)
#define NUM 7
char *p = stringify(NUM);
これは、Linuxカーネルヘルパーの__stringify
マクロに触発されています。include/linux/stringify.h
意図が完全にはわかりません。プリプロセッサ機能のように聞こえます: http://gcc.gnu.org/onlinedocs/cpp/Stringification.html#Stringification
その例から、あなたが望むものと思われるこの簡潔な説明を見つけます。
#define xstr(s) str(s)
#define str(s) #s
#define foo 4
str (foo)
==> "foo"
xstr (foo)
==> xstr (4)
==> str (4)
==> "4"
したがって、次のようなことができます。
#define xstr(s) str(s)
#define str(s) #s
#define num 7
#pragma comment(lib, "string" xstr(num))
実際のコードであれば、通常の文字列マージ規則ですべてうまくいくはずですが、文字列がプラグマで自動的にマージされるかどうかはわかりません。それはおそらく実装に依存します。