[解決済み] 定義マクロのプラグマ
2022-10-07 13:20:07
質問
pragmaステートメントを他のステートメントと一緒にマクロに埋め込む方法はありますか?
のようなことを実現しようとしています。
#define DEFINE_DELETE_OBJECT(type) \
void delete_ ## type_(int handle); \
void delete_ ## type(int handle); \
#pragma weak delete_ ## type_ = delete_ ## type
ブーストソリューション(waveを除く)が存在すれば大丈夫です。
どのように解決するのですか?
c99やc++0xを使用している場合、pragma演算子があり、次のように使用します。
_Pragma("argument")
と同じ意味です。
#pragma argument
ただし、マクロで使用することができます(c99 標準の 6.10.9 節、または c++0x 最終委員会草案の 16.9 を参照してください)。
例えば
#define STRINGIFY(a) #a
#define DEFINE_DELETE_OBJECT(type) \
void delete_ ## type ## _(int handle); \
void delete_ ## type(int handle); \
_Pragma( STRINGIFY( weak delete_ ## type ## _ = delete_ ## type) )
DEFINE_DELETE_OBJECT(foo);
の中に入れると
gcc -E
となります。
void delete_foo_(int handle); void delete_foo(int handle);
#pragma weak delete_foo_ = delete_foo
;
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン