タグ

C言語に関するbogenbauerのブックマーク (14)

  • SEI CERT C Coding Standard - SEI CERT C Coding Standard - Confluence

    Account disable announcementAs of Friday, September 8, 2023, the SEI Secure Coding Wiki no longer provides the ability to sign up for new user accounts. In addition, all accounts that have not made contributions (e.g., comments, edits) to a space or page content will be disabled (accounts that have had recent activity will not be disabled). If you have a specific need to keep your account active,

    SEI CERT C Coding Standard - SEI CERT C Coding Standard - Confluence
  • Jens Gustedt, Modern C (PDF)

  • 2016年、C言語はどう書くべきか (後編) | POSTD

    (前編はこちら: 2016年、C言語はどう書くべきか (前編) ) (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) システム依存の型 まだ「32 bitのプラットフォームでは32 bitのlong型、64 bitのプラットフォームでは64 bitのlong型がいい」という不満があるようですね。 プラットフォームに依存する2つの異なるサイズを使うため、 故意に コードを難しくすることを考えたくなければ、システム依存の型のために long を使おうとは思わないでしょう。 この状況では、プラットフォームのためにポインタ値を保持する整数型、 intptr_t を使うべきです。 モダン32-bitプラットフォームでは、 intptr_t は int32_t です。 モダン64-bitプラットフォームでは、 intptr_t は int64_t です。 int

    2016年、C言語はどう書くべきか (後編) | POSTD
  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • PRE00-C. 関数形式マクロよりもインライン関数やスタティック関数を使う

    PRE00-C. 関数形式マクロよりもインライン関数やスタティック関数を使う マクロは危険である。物の関数と同じように使えるが、セマンティクスが異なるからである。C99 からは、C 言語仕様にインライン関数が追加されている。インライン関数とマクロのどちらでも使える場合には、インライン関数の方を使うようにすべきである。関数をインライン関数として定義すると、例えば、通常の関数呼出しの仕組みの代わりに インライン置換 が行なわれることで、処理速度の向上も期待できる。(「PRE31-C. 安全でないマクロの引数では副作用を避ける」、「PRE01-C. マクロ定義中で参照する引数名は括弧で囲む」、および「PRE02-C. マクロ置換リストは括弧で囲む」を参照のこと。) インライン置換は、テキストの単なる置き換えではなく、また、新しい関数を作成することもない。例えば、その関数体内で使われるマクロの

    PRE00-C. 関数形式マクロよりもインライン関数やスタティック関数を使う
  • C 言語入門

    ここでは Microsoft Windows 上で Visual Studio.NET 2003 を使用して, C 言語プログラムの入門を扱います。十分に吟味して書いていませんから、 詳しく勉強したい人は、適当な入門書を読んでください。 またまったくの初心者を対象としていますが、Windows のこともまるで知らない人は 先に Windows 入門 を読んでください。 2005 年の 11 月頃から,Microsoft が Visual Studio 2005 の無料版 Express を配布しています. これに関しては次で説明します. Visual Studio 2005 Express に関して

  • C 言語入門

    プログラムを作成する前に、作業用のフォルダをエクスプローラで作成しておく方が よいと思います。Visual C++ でビルドすると著しい数の中間ファイルが作成されますが、 ソースファイルがあれば再びビルドし直すことができます。そのためこの 中間ファイルあるいは実行ファイルはゴミでしかありません。ディスクスペースを 圧迫しますから、このようなファイルは時々整理する必要があります。 特定のフォルダを作業場所に割り当てているとあとで掃除が簡単です。 Visual C++.Net で簡単な C 言語プログラムを作成するためには、 メニューのファイル/新規作成/プロジェクト を選びます。

  • Cプログラミングに必要な環境をそろえよう

    プログラミング言語の基となる「C」。正しい文法や作法を身に付けよう。Cには確かに学ぶだけの価値がある(編集部) 第1回「プログラミング言語Cについて知ろう」では、Cの成り立ちから特徴、その用途までを説明しました。なぜ、Cを学ぶことが重要なのかが理解できたと思います。 Cプログラミングを始めるにあたって、開発に使う環境をきちんと整えることが大切です。今回は、Windows用のCコンパイラとデバッガが含まれているMinGWと、グラフィカル開発環境のEclipseが1つのパッケージになった「Pleiades(プレアデス)」をセットアップし、最初のプログラムを動かしてみるところまで説明します。 MinGWとEclipse、Pleiades Cプログラミングで利用する統合開発環境には、Cコンパイラ、ソースプログラムエディタ、デバッガなどが含まれていて、各機能を効率よく利用できるようになってます。こ

    Cプログラミングに必要な環境をそろえよう
  • プログラミング言語 C の新機能

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

  • Clang C Language Family Frontend for LLVM

    Clang: a C language family frontend for LLVM The Clang project provides a language front-end and tooling infrastructure for languages in the C language family (C, C++, Objective C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. Both a GCC-compatible compiler driver (clang) and an MSVC-compatible compiler driver (clang-cl.exe) are provided. You can get and build the source today. Feature

  • Status of C99 features in GCC - GNU Project

    C99 is substantially completely supported as of GCC 4.5 (with -std=c99 -pedantic-errors used; -fextended-identifiers also needed to enable extended identifiers before GCC 5), modulo bugs and floating-point issues (mainly but not entirely relating to optional C99 features from Annexes F and G). The following table gives more details of the C99 support in different GCC versions. This table is based

  • ISO/IEC JTC1/SC22/WG14 - C

    2024-01-29: projects | documents | contributing | internals | meetings | contacts ISO/IEC JTC1/SC22/WG14 is the international standardization working group for the programming language C. The current C programming language standard (C17) ISO/IEC 9899 was adopted by ISO and IEC in 2018. To obtain the international standard, please contact your national member body. Work on projects and their milest

  • 総合目次 - 苦しんで覚えるC言語

    苦Cの内容の転載などは自由ですが、苦Cからの引用であることを明記してください。 (どこかに「苦Cより」と書かれていればOKです。) 学校や会社などで生徒(新入社員)へのテキストとして使用することも自由です。 その際、内容を修正したり、印刷して配布するのも自由です。 サイトについて 苦しんで覚えるC言語(苦C)は C言語入門サイトの決定版です。 C言語の基機能を体系立てて解説しており、 市販書籍と同等以上の完成度です。

    総合目次 - 苦しんで覚えるC言語
  • 1