はじめに 本記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。
2013-10-10 MSのあまりにもひどいマクロ maxとかminとかが使えないと思ったらminwindef.hとかいうところでマクロとして定義されていてキレそうっていうかこれは完全にブチギレ— 秋弦めい (@maytheplic) October 10, 2013 http://stackoverflow.com/questions/5004858/stdmin-gives-error StackOverflowにも同じような事言ってる人が居たので引用。 どうやら以下のようなコードがエラーになるらしいです #include <algorithm> #include <Windows.h> int main() { int k = std::min(3, 4); return 0; } error C2589: '(' : illegal token on right side of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く