タグ

2011年4月14日のブックマーク (3件)

  • The Evolution of a Programmer

    #include <stdio.h> void main(void) { char *message[] = {"Hello ", "World"}; int i; for(i = 0; i < 2; ++i) printf("%s", message[i]); printf("\n"); } #include <iostream.h> #include <string.h> class string { private: int size; char *ptr; string() : size(0), ptr(new char[1]) { ptr[0] = 0; } string(const string &s) : size(s.size) { ptr = new char[size + 1]; strcpy(ptr, s.ptr); } ~string() { delete [] p

  • 2007-02-18

    仕組みが判ってしまえば Makefile は簡潔に書けます.$(CC) とか $@ とか $< なんて変数は使ったら負けです. 基(その1) ソースコード hoge.c から 実行形式のバイナリ hoge を生成するMakefileは,以下のように書きましょう all: hogeこれだけです.これで $ make all とすると hoge が生成されます 重要な点は,間違っても all: hoge hoge: hoge.c $(CC) hoge.c -o hogeのようなMakefileを書かないことです.このようなMakefileでは #!/bin/sh CC=gcc $CC hoge.c -o hoge というようなシェルスクリプトと同程度の使い勝手しかありません. 基(その2) ここで例えば-O3 を付けてコンパイルしたい場合や,-lm を付けてリンクしたい場合は以下のようにし

    2007-02-18
  • Makefileに関するあれこれ(1/2) - ここにタイトルを入力|

    makeが好き。 プログラミングの時はもとより動画のエンコードするのにもおもわずMakefileかいちゃうぐらいmakeが好き。 まぁ、それ以上にvimが好きなんだけどね。 ということでMakefileのあれこれ。 メモ書き〜〆(д) とりあえずメモ代わりに、コンマ,空白の扱い comma:= , empty:= space:= $(empty) $(empty) foo:= a b c bar:= $(subst $(space),$(empty),$(foo)) # bar == "a,b,c" info Makefile に書いてあることそのまんまなんだけどね 具体例とか。 とりあえず授業とか1ファイル1バイナリなものをテキトーにmakeするMakefile SRCS=$(wildcard *.c) BINS=$(patsubst %.c,%,$(SRCS)) all: $(BINS

    Makefileに関するあれこれ(1/2) - ここにタイトルを入力|