1
.h
ファイル(define.h)で有効にできるいくつかのオプション付きのコードを書いています。私はコンパイルされたバージョンのコードでファイル(例えばdefine.dat)を作成し、実行時に定義された部分を書き込んで(私たちが使ったものかどうかを追跡する)。メイクファイルで n(改行)でbashスクリプトを使用する方法
これまでのところ、私はsed
スクリプトを作成して、提示したい形式のファイルに変換しました。
echo '"' `cat define.h | grep '#def' | grep -v '//#def' | sed 's;/.*$$;;' | sed 's/$$/ \\\n/'` '"' > define.dat
そして私は
const char *s = {
#include "define.dat"
};
と私は、コンパイル時にコードでそれを実装できることを学びました。最初のスクリプトは(ダブル$
は必須ではありません何卒ご了承下さい)バッシュ環境で正常に動作している
私は(私はダブル$
を必要な場所)メイクファイルに入れたときに、しかし、\n
ではなく改行として解釈されます。したがって、コンパイラはエラーを出します。
提案や新しい方法はありますか?
MCVEお願いします:http://stackoverflow.com/help/mcve詳細情報(http://stackoverflow.com/help/how-to-ask) – Yunnosch
'cat | grep | grep | grep grep | grep | grep | sedは7つの致命的な罪の一つです。 –