• ベストアンサー

質問

Solarisで開発をしているのですが、作成した実行ファイルがどのようなソースコード(具体的には、ソースコードの作成日付など)でメイクされたかを知る方法はないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Solarisに限らず、Unix全般で使っている方法としてidentコマンドを使うという方法があります。 各ソースファイルに次のstatic変数を埋め込んでおくと、ident コマンド名としたときにその一覧が表示されるというものです。 static char const rcsid[] = "$Id: f.c,v 1.5.56.1.6.1 2010/12/21 17:09:25 kensmith Exp $"; 各バージョン管理システムにはバージョン情報などをファイル上に出力するための仕組みがあるのでそれをrcsid[] として設定すると、identで見えるようになるというわけです。 例えば、 % ident /bin/ls /bin/ls: $FreeBSD: src/lib/csu/amd64/crti.S,v 1.7.30.1.6.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/lib/csu/amd64/crtn.S,v 1.6.30.1.6.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/lib/csu/common/crtbrand.c,v 1.6.2.1.6.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/lib/csu/amd64/crt1.c,v 1.15.10.1.6.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/bin/ls/cmp.c,v 1.18.10.1.6.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/bin/ls/ls.c,v 1.86.2.4.4.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/bin/ls/print.c,v 1.78.2.3.4.1 2010/12/21 17:09:25 kensmith Exp $ $FreeBSD: src/bin/ls/util.c,v 1.41.2.1.6.1 2010/12/21 17:09:25 kensmith Exp $ のような感じで。 この設定例では$Id$というCVSの例をFreeBSDで拡張した$FreeBSD$を出していますが、subversionやgitなど他のバージョン管理ステムでも設定すると$Id$を展開するようになります。

noname#143577
質問者

お礼

回答ありがとうございました

関連するQ&A

専門家に質問してみよう