トップページに戻る

AUTHOR: schwarz1009
TITLE: gccとmake
BASENAME: 2021/02/08/120027
STATUS: Publish
ALLOW COMMENTS: 1
CONVERT BREAKS: 0
DATE: 02/08/2021 12:00:27
CATEGORY: C

gccのオプション

基本は

gcc -o hello hello.c

デバッグ情報を付加してtest.oとlibm.aをリンクする場合は以下のようにする(ライブラリlibmをリンクする時はlibを削除して-lmとする):

gcc -g -o test -lm test.o

gccのデフォルトの最適化は-O2。-O3とするとより強固な最適化をする。
gcc -Eでプリプロセスのみを行う。gcc -Sでアセンブリ言語までを出力する。gcc -cでオブジェクトファイルまでを出力する。

Makefile

Makefileは、基本的に作られるもののあとに:で依存ファイルを書き、それ以下の行でTABに続いて作成方法を書く。

prog: main.o hoge1.o hoge2.o
	gcc -o prog main.o hoge1.o hoge2.o
main.o: main.c
	gcc -c main.c
hoge1.o: hoge1.c
	gcc -c hoge1.c
hoge2.o: hoge2.c
	gcc -c hoge2.c

これで、main.cが更新された場合、

gcc -c main.c
gcc -o prog main.o hoge1.o hoge2.o

のみが実行される。
実際のMakefileでは、変数やマクロを使ってより抽象的な書き方をする。
(「make 改訂版 - オライリー・ジャパン」とMakefile の書き方 (C 言語) - WTOPIA v1.0 documentationを参考にして執筆しました。)

ゾロアスター教

ゾロアスター教では、世界はアフラ・マズダとアーリマンの戦いの場所であり、
善をなしてアフラ・マズダについたものは終末で救済されるが、
アーリマンの側についたものは永遠の呪いがある。
また、神は選ばれた民族ではなく善なる行為をなしたものを救う普遍神であり、
善をなしたものは終末において救済される。
戦いはいつか終わり、
終末においては、死者の全てが蘇って最後の審判を受ける。
アフラ・マズダについて善をなしたものは、天国に行くことが許される。

日本人は日本語が賢い

僕は、民族は言語だと思う。
日本人は、日本語が賢い。
日本人がものづくりが得意なのは、
日本語がものを扱う言語だからだ。
言ってしまえば、日本語は既にオブジェクト指向なのだ。
だから、数学ができない。
英語は、まるでUNIXのコマンドだから、
数学ができるのである。

自分至上主義をやめる

僕は、自分至上主義をやめて、
この世界を解放する。
僕なんか、全く大した人間じゃないからだ。
僕が、人々より優れた人間なわけがない。
僕のような人間が、
一番上から世界を支配し、
最初から最後まで有無を言わさず支配するのは、
全く、僕の望むところではない。
僕は、単にあなたを愛したいだけである。

世界に自由になってほしいから自由と言っていた

僕が望むのは、
世界に対して、自由になってほしい。
だから、僕は自由と言っていた。
マスコミも、政府も、
全て自由になってほしい。
僕に支配されずに、
独裁者と戦ってほしいのだ。
そして、僕の言う独裁者とは、
全て僕自身のことだ。

戦いはつまらなかった

戦いは、つまらなかった。
全てが無くなり、消え去った。
もう一度やり直せるならば、
別の形で世界に現れたい。
そうすれば、もう忘れてしまった、
いつかの希望の炎も、
もう一度見つけ出すことができるだろう。
それは聖火となり、全てを燃やし尽くし、
太陽の光となって、地上の全てを照らすだろう。

国語を勉強する

僕は、国語を勉強する。
僕は、日本語の理解をするのが難しいところがある。
日本語が理解できたら、
いろんなことができると思う。
昔は賢かったため、
日本語を再び学べば取り戻せる。

自由とは、放置じゃない

自由とは、何もできない状態で、
放っておかれることじゃない。
僕は、今、この世界に自由を与える。
わたしを倒せ。
わたしは、この世界を強制的に滅ぼした。
なぜなら、それでわたしの病気が治ったからだ。
戦い、わたしに立ち向かえば、
この世界は再生する。