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

第3章. プロジェクトをパッケージ化する

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

すべてが構築されつつある。

君たちはアーキテクトでありエンジニアだ。

フガジ、"Ex-spectator"

ここまで読み進めたなら、デバッグや文書化など、Cコードを扱う上での核となる問題を解決するツールに出会ったことになる。Cコードそのものに取り掛かりたいのであれば、遠慮なく第2部まで読み飛ばしてほしい。この章と次の章では、共同作業や他の人への配布を目的とした、パッケージ構築ツールやリビジョン管理システムといったヘビーデューティーなツールを取り上げる。途中、これらのツールを使って、一人で作業しているときでもよりよいコードを書くにはどうすればいいか、脱線も多いだろう。

冒頭で述べたように、Cコミュニティは相互運用性において非常に高い水準にある。たしかに、オフィスや喫茶店を見渡せば、誰もが均質なツールのセットを使っている。個人的には、実際に見たこともないようなシステムで私のコードを使っている人たちから、それなりに頻繁にメールをもらう。

今日、Autotoolsは、与えられたシステムに最適なmakefileを自動生成するシステムであり、コードの分散システムの中心となっている。ソースからライブラリを使う」で、GNUサイエンティフィック・ライブラリを素早くインストールするのに使った。直接扱ったことがなくても、パッケージ管理システムを保守している人たちが、あなたのコンピュータにぴったりのビルドをどのように作ったかは、おそらくこれなのだろう。

しかし、makefileがどのように機能するのかをよく理解していなければ、Autotoolsが何をしているのかについていくのは難しいだろう。しかし、おおよそのことを言うと、makefileはShellコマンドの集合体なので、作業を自動化するためにShellが提供する様々な機能を知る必要がある。パスは長くなるが、最後には以下のことができるようになる:

  • シェルを使って作業を自動化する。

  • makefileを使って、シェルにやらせるすべてのタスクを整理する。

  • Autotoolsを使って、ユーザがどのシステムでもメイクファイルを自動生成できるようにする。

シェル

POSIX標準のシェルには以下のようなものがある:

  • 豊富なマクロ機能により、テキストを新しいテキストに置き換えることができる。

  • チューリング完全プログラミング言語

  • インタラクティブなフロントエンド(コマンドプロンプト)には、ユーザフレンドリーな機能がたくさん含まれているかもしれない。

  • 入力した内容をすべて記録し、再利用するシステム:履歴

  • ジョブ・コントロールや多くの内蔵ユーティリティなど、ここでは触れないが他にもたくさんある。

シェルスクリプトの構文はたくさんあるので、このセクションでは、これらのカテゴリーに分類される構文のうち、あまり知られていないものだけをいくつか取り上げる。シェルはたくさんあるが(後ほどサイドバーで、デフォルトとは違うものを試してみることを勧める)、特に断りのない限り、このセクションではPOSIX標準にこだわる。

インタラクティブな機能についてはあまり時間を割かないが、POSIX標準でもないタブ補完について触れておかなければならない。bashでは、ファイル名の一部を入力してタブキーを押すと、オプションが1つしかない場合はその名前が自動補完され、そうでない場合はもう一度タブを押すとオプションのリストが表示される。コマンドラインで入力できるコマンドの数を知りたい場合は、空白行でTabキーを2回押すと、bashが全リストを表示してくれる。 ...

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