私が扱っているコードベースは歴史的にstdio.hへの依存を避けるために意図的に試みました。それは独自の印刷フォーマットとメカニズムを備えています。 printfの代わりに使われるはずのもの。stdio.h(または他の標準ヘッダ)のインクルードを防ぐ
しかし、誰かが頻繁に依存関係を追加して気づき、取り出さなければなりません。あなたがこれを行う場合には有用なメッセージがありますので、
#if !defined(NDEBUG)
void printf(float dont_link_with_stdio_h);
#endif
はgccの人々があまりにも簡単にエラーを停止するの線に沿って考えているように見える...かどうか:だから私は例最も簡単にアラームを作ってみましたあなたは<stdio.h>
を含んでいますか?ビルトイン関数 'printfの'
ため
相反するタイプ(を)この警告をオフにする方法があります。そして、あなたがそこにいたくないことのためにシンボルダンプをフィルタするようなことを行う方法はすべてあります...
しかし、インクルードしたprintfの使い方を誰かに警告するstdio.h)インクルード方法がありますか?
<stdio.h>
の混入を防止するために
コンパイルされたライブラリ(.lib)をコンパイル/リンクしないように削除できませんか? –
@LeeTaylor私は、このライブラリを含む他のものに使用されるコンパイル環境を改ざんしないことを望んでいます(そして、望むならstdio.hを自由に組み込むことができます)。私は、私が試していた方法を使用し、 '-fno-builtin'を追加するよりも、あまり侵入しないものを探しています。ソースの中だけで行うことができるもの。 – HostileFork
'grep printf * .c'? –