タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

c99に関するtztのブックマーク (7)

  • 可変個数引数マクロの作り方 - tshinoの日記

    GCCのプリプロセッサの便利な拡張を知ったのでメモ。 関数形式マクロの引数の数は固定、というのはよく知られていると思うけど、現在のC言語(C99)ではサポートされている。 // (1) #define DEBUG_PRINT(...) printf(__VA_ARGS__)C++の仕様には入っていないけど、まあGCCではC++でも使えている。 ただ、__VA_ARGS__ はすこし凝ったことをするには限界があることを最近知った。例えば、この DEBUG_PRINT() の表示に関数名を追加したいとする。 // (2) #define DEBUG_PRINT(fmt, ...) \ printf("%s(): "fmt, __func__, __VA_ARGS__)__func__ は関数名の文字列を指す特別な識別子で、これもC99。マクロに似ているけどマクロではないので、__FILE__や

    可変個数引数マクロの作り方 - tshinoの日記
  • Inline Functions In C

    Introduction GNU C (and some other compilers) had inline functions long before standard C introduced them (in the 1999 standard); this page summarizes the rules they use, and makes some suggestions as to how to actually use inline functions. The point of making a function inline is to hint to the compiler that it is worth making some form of extra effort to call the function faster than it would o

    tzt
    tzt 2008/04/25
  • memologue - C/C++の定数の型の話, C90/C99の差分のびみょーな話

    Cのソースコードに m = 195; とか n = 0xffffffff; とか書いたときの定数(右辺)の型って、なんであるかご存じでしょうか? また、C90(1990年版のISO C言語規格)とC99(1999年版のそれ)ではその型が微妙に異なったりすることがあるんですが、ご存じでしょうか? さらには、お使いのマシンがILP32であるかLP64であるかLLP64であるかによっても、微妙に型が違ってきたりするんですが、それについてはどうでしょうか? えーもちろん、普段は「Uがついてなかったらint, Uがついてたらunsigned intジャネーノ?」くらいの理解でも殆ど不自由しないわけですが、詳細な理解がないとハマるケースも稀にあります。 私はというと、上に書いたような事は、C90/99の差違を除いてはだいたい理解しているつもりだったのですが、C90/99の差異について無頓着だったがため

    memologue - C/C++の定数の型の話, C90/C99の差分のびみょーな話
    tzt
    tzt 2008/04/14
    GCCに警告されちゃった。気を付けねば。
  • 標準C99ライブラリ コーディング規約(案)の表示 - 標準C99ライブラリ - OSDN

    ファイル情報カテゴリ(タグ)ルートファイル名coding-rule最終更新2002-10-11 22:40種類HTML作成者Takagi Yusei概要ライブラリ実装におけるコーディング規約 件名: 標準C99ライブラリ コーディング規約(案) 標準C99ライブラリ コーディング規約(案) 1. 目的 成果物としてのライブラリが標準仕様を満たし、あらゆるプラットフォームおよびコンパイルオプションの下で正しく使用できるようにすることを主たる目的とする。 アプリケーション開発におけるコーディング規約はある意味努力目標に過ぎないが、標準ライブラリのコーディング規約は厳密に守られるべきである。逆に言えば、それを守らなければ仕様を満たさないか、あるいは性能面において重大な問題となりうるものを中心としてコーディング規約を定めることとする。 2. 重要ランク 「標準C99ライブラリ コーディング規約」で

    標準C99ライブラリ コーディング規約(案)の表示 - 標準C99ライブラリ - OSDN
    tzt
    tzt 2008/04/14
  • Visual C++ Team Blog : MFC Updates for Vista Common Controls

    The 2023.11.20 release of the vcpkg package manager is available. This blog post summarizes changes from October 19th, 2023 to November 19th, 2023 for the Microsoft/vcpkg, Microsoft/vcpkg-tool, and Microsoft/vcpkg-docs GitHub repos. Some stats for this period: Key changes This vcpkg update includes some ...

    Visual C++ Team Blog : MFC Updates for Vista Common Controls
    tzt
    tzt 2008/04/14
  • Charming Python: Functional programming in Python, Part 3

    tzt
    tzt 2008/04/14
  • プログラミング言語 C の新機能

    プログラミング言語 C は 1990 年に ISO で規格化された言語です。その後、何度かの誤りの訂正や wchar_t 型の追加といった追補がなされた後、さらに使いやすくするための新しい機能が検討されてきました。そして、1999 年、ついに新しいプログラミング言語 C の仕様「ISO/IEC 9899:1999 - Programming Language C」(略称 C99) が 1999/12/01 付けで規格として出版されました。ここでは、その新機能を説明します。

    tzt
    tzt 2008/04/14
  • 1