「C」の版間の差分
ナビゲーションに移動
検索に移動
(ライブラリを翻訳して追加) |
Kusanaginoturugi (トーク | 投稿記録) (序文を修正) |
||
4行目: | 4行目: | ||
[[Linux]] カーネルや [[GNU]] ユーザーランドは主に [[Wikipedia:ja:C言語|C]] 言語で書かれています。 |
[[Linux]] カーネルや [[GNU]] ユーザーランドは主に [[Wikipedia:ja:C言語|C]] 言語で書かれています。 |
||
− | Arch Linux は C 標準ライブラリとして [[Wikipedia:ja:GNU Cライブラリ|GNU C Library]] ({{Pkg|glibc}}) を使用しています ({{Pkg|base}} に含まれています)。 |
+ | Arch Linux は C 標準ライブラリとして [[Wikipedia:ja:GNU Cライブラリ|GNU C Library]] ({{Pkg|glibc}}) を使用しています ({{Pkg|base}} [[メタパッケージ]]に含まれています)。 |
− | [[GNU プロジェクト|GNU ツールチェイン]]や [[LLVM#ツールチェイン|LLVM ツールチェイン]]を使って C |
+ | [[GNU プロジェクト|GNU ツールチェイン]]や [[LLVM#ツールチェイン|LLVM ツールチェイン]]を使って C、 [[Wikipedia:C++|C++]] や [[Wikipedia:Objective-C|Objective-C]] でソフトウェアを開発することが可能です。 |
== 便利なツール == |
== 便利なツール == |
2023年7月18日 (火) 11:28時点における版
Linux カーネルや GNU ユーザーランドは主に C 言語で書かれています。
Arch Linux は C 標準ライブラリとして GNU C Library (glibc) を使用しています (base メタパッケージに含まれています)。
GNU ツールチェインや LLVM ツールチェインを使って C、 C++ や Objective-C でソフトウェアを開発することが可能です。
便利なツール
- Valgrind — プログラム内のメモリ管理問題を見つけるのを補助するツール。
- distcc — GCC の分散コンパイルフロントエンド。
- rr — C/C++ の軽量な記録・決定的デバッグツール。GDB を使用。
- https://rr-project.org/ || rrAUR
静的コードアナライザ
- Cppcheck — C/C++ の静的コード解析ツール。
- Splint — セキュリティの脆弱性やコーディングミスがないか C プログラムを静的にチェックするツール。
- Clang には
scan-build
静的アナライザが付属しています。
他のコンパイラ
- TCC — GCC よりも高速とうたわれている Tiny C Compiler。
- ACK — Amsterdam Compiler Kit。
- PCC — Portable C Compiler。
- http://pcc.ludd.ltu.se/ || pccAUR
- SDCC — Retargettable ANSI C コンパイラ。
Wikipedia:List of compilers#C compilers も参照してください。
他の libc 実装
- dietlibc — 小さいサイズに最適化された libc
- musl — C 標準ライブラリの軽量実装。
ライブラリ
- FFmpeg - は、オーディオ・ビデオライブラリである libav を含んでいます (同名の FFmpeg フォークと混同しないでください。)
- GLib — GNOME による低レベルシステムライブラリ。GObject と GIO を含む。
- GStreamer – パイプラインベースマルチメディアフレームワーク
参照:
- GTK+/開発#C
- デスクトップ通知#C
- Libcanberra#C
- アーカイブと圧縮#圧縮ライブラリ
- Wikipedia:Category:C (プログラミング言語) ライブラリ
- オープンソース C ライブラリのリスト
参照
- セクション 2 のシステムコールの man ページ
- セクション 3 のライブラリ関数の man ページ
- GCC and Make – Compiling, Linking and Building C/C++ Applications
- SEI CERT C Coding Standard
- ##C IRC channel on Freenode