ソースとヘッダの分割
a.cにはa.hが存在するべき。 a.cに必要なインクルードはa.hに記述すべき?(a.hにはa.cで定義している関数のプロトタイプ宣言のみを記述し、その他のヘッダはa.cでインクルードすべき? 要調査) ただし、a.h…
a.cにはa.hが存在するべき。 a.cに必要なインクルードはa.hに記述すべき?(a.hにはa.cで定義している関数のプロトタイプ宣言のみを記述し、その他のヘッダはa.cでインクルードすべき? 要調査) ただし、a.h…
マングリングとは、関数のシグニチャ(名前と型)をラベルに埋め込むこと(C++で同名の関数を識別するため)。 で、こいつがCのソースをC++コンパイラに解釈させるときにネックとなる。 例:エラーの出るコード test.h …
cppファイルをgccに渡すとg++でビルドされるらしい。 つまり、C言語のソースをC++に変更しようと思って、「まずは拡張子だけでもとりあえず変えてみっかー。中身はあとから変えればいいだろ。」って気楽にファイル名を変更…
ん?これってどうやって使うんだろ。 例外とも違うみたいだし・・・。 書籍によると積極的に使っていけって書いてある。 ふーむ、使いかたを調べるか。
整数配列は0以外で初期化しちゃいけないらしいよ。 ついでにchar型の初期化も。 char型配列は任意の値で初期化できるらしい。 この例だとヌル文字で初期化。 http://www.infor.kanazawa-it.a…
こんな感じにmemsetを使えばOK。
http://www.method.jp/tadashi/t2grad/1993-gcc.pdf ↑が便利。 一応メジャーなものを抜粋。 implicit declaration of function %1 関数 %…
$ man g++ ってやったら衝撃の事実が記述してあった。 gcc/g++は統一されていて、g++はgccにオプションを付けて呼び出すだけなんだね。 そのオプションがなんなのかはよくわからんが、要するに中身はgcc。 …
CFLAGS:gcc用(C用) CPPFLAGS:gcc用(C++用) CXXFLAGS:g++用 な気がする。 これ、-Wallとか追加するとき、全部にオプション指定しないとダメなのかな。 一箇所にまとめたい気分。 A…
ソース解析をしてみたら、return文がないとか、結構致命的な欠陥が見付かったので、「あれーコンパイラ様で警告でてないんだけど、何やってんの?」って思ってgccのオプションを確認したら-Wallが抜けていた。 終わってる…
最近のコメント