タグ付けされた質問 「make」

8
Makeを直接使用することは時代遅れと見なされますか?[閉まっている]
ですから、メイクファイルを直接作成することや、2015年にそれを行うのは馬鹿げたことです。CMakeなどのツールを知っており、実際にCMakeを頻繁に使用しています。大切なのは、CMakeはMakefileを作成して、自分でそれを行うという退屈な作業をなくすことです。もちろん、それは他の多くの素晴らしい機能を追加します...しかし、最終的にはまだMakefileです。 だから私の質問は、Makeユーティリティ全体を指すmakeに関する「時代遅れの」話ですか、それとも自分のMakefileを手動で書くというアイデアですか?私はC / C ++開発にIDEをまったく使用しません(ちょうどemacs)ので、常にMakefileを作成しました。 Makeが古いと見なされる場合、C / C ++開発者は小さな個人プロジェクトを構築するために何を使用すべきですか?
31 c++  c  builds  make  cmake 

6
makefileに「インストール」ターゲットが必要なのはなぜですか?
CとC ++の世界から来たほとんどのビルドシステムには、installターゲット、特にMakefiles(たとえばGNUが推奨する場所)またはCMakeがあります。このターゲットは、オペレーティングシステム(C:\Program Files\Windowsなど)のランタイムファイル(実行可能ファイル、ライブラリなど)をコピーします。 私にとっては、プログラムをインストールすることはビルドシステムの責任ではないため(実際にはオペレーティングシステム/パッケージマネージャーの責任です)、これは非常にハッキリしています。また、ビルドシステムまたはビルドスクリプトは、環境変数、レジストリ変数、シンボリックリンク、権限などを使用して、インストールされたプログラムの構成を認識している必要があります。 せいぜい、ビルドシステムにはrelease、インストール可能なプログラム(.debまたはなど.msi)を出力するターゲットがあり、そのプログラムをインストールするようオペレーティングシステムに親切に依頼する必要があります。また、ユーザーはを入力せずにアンインストールできmake uninstallます。 だから、私の質問:ビルドシステムは通常、installターゲットを持つことを推奨するのはなぜですか?

8
メイクファイルを学ぶことはどれほど重要ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私は主に趣味としてc ++で働いています(私はまだ学校にいるので、実際の仕事はありません)。IDEは私のためにメイクファイルを生成するので、それを自分で作る方法を学ぶ価値があるかどうか疑問に思っています。「価値のある学習」とは、C ++を学習し続ける前に、すべてを落とし、それらの書き方を学ぶ必要があるということです。それらを学ぶことは本当に必要になるでしょうか?もしそうなら、それらについて(一般的な構文とそれらがどのように機能するかを理解するなど)学ぶべきか、実際にそれらを書く方法を学ぶべきですか?
12 java  learning  c++  syntax  make 

4
「make」だけでなく「make clean」を使用する場合の一般的なルールはありますか?
私は今、複数ファイルのプログラムを書いていますが、何らかの理由で「make」だけを実行しているようです(ほとんどの状況で直感的に実行する必要があると思うように)。問題の詳細を提供できると思いますが、重要なことは、「make clean」を使用したときに実行されることです。だから、誰かが「メイク」ではなく「メイククリーン」を実行するための一般的な経験則を知っているのだろうかと思っていました
11 c++  builds  make 

2
使用するmakeスレッドはいくつありますか?
デスクトップ/ラップトップコンピューターで大規模なシステムを(再)ビルドするとき、次のようmakeに、複数のスレッドを使用してコンパイル速度を上げるように指示します。 $ make -j$[ $K * $C ] どこ$Cの数を示すことになっているコアながら、マシンが持っている(私たちは一桁と番号であることを仮定することができ)$K、私は異なるものだ2と4、私の気分に応じました。 したがって、たとえば、make -j124つのコアがある場合、make最大12のスレッドを使用するように指示することができます。 私の理論的根拠は、私が$Cスレッドのみを使用する場合、プロセスがドライブからデータをフェッチするのにビジーである間、コアはアイドルになるということです。しかし、スレッドの数を制限しない場合(つまりmake -j)、コンテキストの切り替えに時間を浪費したり、メモリを使い果たしたり、さらに悪いことにリスクを冒したりします。マシンに$Mギグのメモリがあると仮定しましょう($Mは10のオーダーです)。 したがって、実行するスレッドの最も効率的な数を選択するための確立された戦略があるかどうか疑問に思っていました。

3
「make」の増分ビルドでハッシュアルゴリズムが使用されないのはなぜですか?
私はの初心者でmakeあり、いつ使用するか迷っていますmake clean。 ある同僚は、増分ビルドmakeはファイルのタイムスタンプに基づいていると私に言った。そのため、VCSで古いバージョンのファイルをチェックアウトすると、「古い」タイムスタンプが付けられ、「このファイルを再コンパイルする必要がない」とマークされます。その後、そのファイルは次のビルドに含まれません。 同じ同僚によると、それを使用する理由になりますmake clean。 とにかく、私make cleanは他のStackExchangeの質問から「いつ使用するか」という質問への答えを大まかに得ましたが、私のもう1つの質問は次のとおりです。 makeたとえば、SHA-1ではなくファイルのタイムスタンプに依存してインクリメンタルビルドを行うのはなぜですか?たとえば、Gitは、SHA-1を使用してファイルが変更されたかどうかを正常に判断できることを示しています。 速度の問題ですか?
10 builds  make 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.