• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:パッチの内容文を解説して下さい。)

パッチの内容を解説

このQ&Aのポイント
  • C言語を理解していない方でも分かりやすいパッチの内容解説
  • パッチの内容解説:vboxvideo_drm.c
  • LINUX_VERSION_CODEによる条件分岐の説明

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

まず最初の 2行は「どのファイルからどのファイルにするのか」を示している. つまり, 元のファイルが vboxvideo_drm.c.org で, 修正後が vboxvideo_drm.c ということ. で, ついでに元のファイルは「-」, 修正後のファイルは「+」でマークされている. それ以降は「チャンク」と呼ばれ, ・どの部分を ・どのように変更するか が書かれている. たとえば最初のチャンクだと ・@@ -112,7 +112,7 @@ とあるので「『-』で示されるファイルの 112行目から 7行を『+』で示されるファイルの 112行目から 7行に変更する ・そのあとは先頭に「-」がある行を「+」の行に置き換える ということ. 置き換える行だけでなく, その前後 (コンテキスト) も与えられているので, 正確に 112行目からでなくても近いところであれば (メッセージは出るものの) 修正できます. と, 「パッチに何が書いてあるか」を解説してみました. コンテキストdiff って読みやすいよね.

spindle
質問者

お礼

ご回答有難うございます。なるほど・・・。概ね理解できました。が・・・・・ >・@@ -112,7 +112,7 @@ とあるので 「@@」というのは何を意味しているのでしょうか? C の本を拾い読みしましたが、分かりませんでした。 >「『-』で示されるファイル 「―」で示されるファイルとは、どこで指しているのでしょうか? 幼稚な質問ですみません、ご教示頂けると有難いです。

spindle
質問者

補足

すみません、お礼の書込みの補足です。 「-」で示されるファイルとは、「- - -」で示しているファイルということですね。 これは理解しました。

その他の回答 (3)

  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.4

これ出処は https://www.centos.org/modules/newbb/viewtopic.php?topic_id=34854&forum=55 ですよね。 そんで、hirokan55氏が作り直したパッチの方が http://d.hatena.ne.jp/hirokan55/comment?date=20111227 のもので、それを引用されてますよね。 なんのパッチか?については前者のURLに書いてありますし、 どうやってパッチをあてるのか?については後者のURLに書いてあります。 どういう意味の修正なのか?については以下の経緯を読むとたぶん理解できます。 https://forums.virtualbox.org/viewtopic.php?f=1&t=46808#p211449 読むの面倒臭くて読んでませんが。

spindle
質問者

お礼

これ出処は > https://www.centos.org・・・・ > ですよね そうですよ。 >そんで、hirokan55氏が作り直したパッチの方が > http://d.hatena.ne.・・・・ > のもので、それを引用されてますよね。 そうですよ。それが??? このパッチの目的や当て方を聞いているのではないですよ。 C (文法)が分からないから、「何と書いてあるか」を聞いたのです。 もっとも、 @@ -112,7 +112,7 @@ については https://forums.virtualbox.org/viewtopic.php?f=1&t=46808#p211449 を見て分かりましたが。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

結局のところ、何を知りたいのでしょうか? ・パッチファイルの書式の理解 →すでに#1さんが説明されています。 元のファイルからの変更点が書かれています。 ・パッチの適用方法 →ファイルの内容にしたがって、対象ファイルから-の行を消して、+の行を加える(先頭の+は消す)、という作業です。 手作業でもできなくはないですが、通常はpatchコマンドを使います。 patch < パッチファイル が基本的な使い方です。 より詳しくは、man patchでマニュアルを参照したり、「patch 使い方」で検索したりしてください。 ・このパッチによる変更がどんな効果がもたらすのか? → パッチに付属してるreadmeとか、配布サイトの説明とかを読んでください。 ・この変更がC言語のプログラムでどんな意味を持つのか? → パッチ適用後のソースを読んでください、としか申し上げようがありません。 ・パッチを当てたあと、なにをすればいいのか? →通常、ソースコードの変更なので、実行ファイル等を作るにはコンパイルする必要があります。 方法は、対象によります。大抵、READMEとかINSTALLとかのファイルに書いてあります。

spindle
質問者

お礼

ご回答ありがとうございます。なるほど。。。。 お蔭さまで「パッチをあてる」ということの概念がやや明確になってきました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

ごめん, この形式は「コンテキストdiff」じゃなくて「ユニファイドdiff」だ.

関連するQ&A