Skip to Content
21st Century C, 2nd Edition
book

21st Century C, 2nd Edition

by Ben Klemens
May 2025
Intermediate to advanced
408 pages
5h 55m
Japanese
O'Reilly Media, Inc.
Content preview from 21st Century C, 2nd Edition

第1章. コンパイルしやすいようにセットアップする

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

私はテクノロジーを使っているんだ。

イギー・ポップ、"サーチ・アンド・デストロイ"

Cの標準ライブラリだけでは、本格的な仕事をするには不十分なのだ。

その代わりに、Cのエコシステムは標準の外にまで広がっている。つまり、一般的ではあるがISO標準ではないライブラリから関数を簡単に呼び出す方法を知っておくことは、教科書の演習を乗り越えるためには不可欠なのだ。XMLファイル、JPEG画像、TIFFファイルを扱いたいなら、libxml、libjpeg、libtiffが必要になる。残念なことに、ほとんどの教科書はこの点で軽くなり、自分で解決しなければならなくなる。そのため、「C言語は40年前のものだから、すべてをゼロからC言語で書かなければならない。

以下がその章のアジェンダである:

必要なツールをセットする
あらゆるコンポーネントを探し回らなければならなかった暗黒の時代に比べれば、はるかに簡単だ。10分か15分もあれば、すべての装備を備えた完全なビルド・システムをセットアップすることができる(さらに、多くの優れたものをロードするためのダウンロード時間も必要だ)。
Cプログラムをコンパイルする
cc しかし、ライブラリとその場所をフックするようなセットアップが必要なのだ。 myfile.cとタイプするだけではもう不十分だ。Makeはプログラムのコンパイルを容易にする最もシンプルなシステムであり、議論のための良いモデルを提供してくれる。成長するのに十分な余地を提供する、可能な限り小さなmakefileを紹介しよう。
変数のセットアップと新しいライブラリの追加
どのようなシステムを使うにしても、環境変数のような小さなセットに基づいている。コンパイルの仕組みがすべて整えば、新しいライブラリを追加するのは、すでにセットアップした変数を調整するだけという簡単な問題になる。
コンパイルシステムをセットアップする
おまけに、ここまでの点すべてを使って、コマンド・プロンプトにコードをカット・アンド・ペーストできるような、さらにシンプルなコンパイル・システムをセットアップすることができる。

make コードをコンパイルするときにmake が実行するすべてのレシピに対して、あなたのIDEは類似のレシピを持っているからだ。make が何をしているかを知っていれば、IDEを調整するのは簡単だ。

パッケージマネージャを使う

パッケージ・マネージャーを使っていないなら、損をしている。

パッケージマネージャーを取り上げたのにはいくつか理由がある:まず、基本的なものがインストールされていない人もいるだろう。そのような人のために、本書ではこのセクションを最初に取り上げた。優れたパッケージマネージャは、完全なPOSIXサブシステム、聞いたことのあるあらゆる言語のコンパイラ、半端ない数のゲーム、通常のオフィス生産性ツール、数百のCライブラリなどを、かなり迅速にセットアップしてくれるだろう。

第二に、C言語の作者として、パッケージ・マネージャーは、我々の仕事に組み込むためのライブラリを入手するための重要な手段である。

パッケージリポジトリの管理者があなたのコードをリポジトリに入れることを決めたときに、最終的なパッケージをビルドするのに問題がないように。

Linuxユーザであれば、パッケージ・マネージャを使ってコンピュータをセットアップし、ソフトウェアの入手プロセスがいかに簡単であるかをすでに知っているだろう。Windowsユーザについては、以下で ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learn C Programming - Second Edition

Learn C Programming - Second Edition

Jeff Szuhay
Tiny C Projects

Tiny C Projects

Daniel Gookin

Publisher Resources

ISBN: 9798341650848