パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Windows XP/Server 2003のソースコードが流出か」記事へのコメント

  • by chi (11062) on 2020年09月26日 13時20分 (#3895530) 日記

    XPを今時のPCのスペックでビルドすると、どのくらい時間かかるんだろうか。
    CPU:8コア16スレッド
    メモリ:16GB
    SSD:500GB
    位のまあまあな環境下で試してみたい。

    • by Anonymous Coward

      わしは どうスクリプト化されているかに興味がある。
      make/Makefile じゃないんだよね?

    • by Anonymous Coward

      XPを今時のPCのスペックでビルドすると、どのくらい時間かかるんだろうか。
      CPU:8コア16スレッド
      メモリ:16GB
      SSD:500GB
      位のまあまあな環境下で試してみたい。

      根本的に忘れてるんだろうが、XPの生まれた時代は32bit全盛期。
      VSも当然VC++6とか、良くて2002、2003あたり。
      当然のように、当時のGNU makeやcmakeのようなパラレルメイクにも対応していない上、32bitゆえに4GB制限。
      シングルコア、かつ4GB制限付でシコシコと果てしないビルド作業に従事するしかない。
      スレッドリッパーだろうが、メモリをウン百ギガ搭載してようが無意味。

      ましてVS6なんてクセありすぎで、ビルドを通すためだけに色々なバッドノウハウが随所に儲けられてるのは、
      VS6時代にプログラマやってた人なら、どこでもやってて当たり前だったのが周知の事実。
      XPがVS6で書かれていたら、ただもう御愁傷様と言う他ない。

      • by Anonymous Coward

        一つのソリューションでガンガンビルドするわけじゃないからね。
        dllやexeなどひとつひとつにmakefileが作られてる。しかも例えばkernel32.libだればsdkのライブラリフォルダからリンクする作りになってる。だからどれを最初にビルドしないといけないというような依存関係もほぼない。

        だからコンパイラが並列処理できないなら、多重起動してやればいいだけ

        #最新のコンパイラでもビルド通ると思うよ

        • by Anonymous Coward

          内部コードが C++ で書かれているとすれば(少なくともCOM周りはそうだと思うけど)
          VC6のコードは今のコンパイラでは通らない確率が高いと思う。主に変数スコープの
          仕様の違いなどで。

          C++ なのに関数の頭で全部の変数を宣言するようにしていたら違うと思うけど。

      • Re: (スコア:0, すばらしい洞察)

        by Anonymous Coward

        まあ、お前の世界ではそうなんだろう

      • by Anonymous Coward

        nmakeがシングルプロセスでコンパイルからリンクまでこなしていると思い込んでいるのかな。

      • by Anonymous Coward

        間違いだらけのコメントですね

        たとえばこれ
        > 当時のGNU makeやcmakeのようなパラレルメイクにも対応していない

        GNU make は依存関係に応じてジョブ(=外部コマンド)を起動するツールです。昔から並列起動可能な外部コマンドがあれば、それを同時に起動します。コンパイラが複数同時に起動できれば、パラレルメイク(?)になります。

        cmakeは、そもそもビルドツールじゃありません。cmake はGNU makeなどのビルドツール用のファイル(Makefileなど)を生成するツールです。実際にビルドを行うのは cmake じゃなくて GNU make などになります

        • by Anonymous Coward

          それはあなたの読解が足りていないと思います。#3895632が言っていることは「GNU makeはパラレルな実行が可能であるのに対し、Visual Studioに同梱のmake (nmake)はパラレルに実行する機能がない」ということでしょう。

          cmakeについては、--buildでビルドツールを呼び出してビルドさせる機能あたりかなと思います。

          • by Anonymous Coward

            VisualStudioってだいぶ古いバージョンからパラレルにビルドかけるけどね・・・
            今回の流出したXPソースコードのビルド(VisualStudio2002)でもキャプチャ画面見る限りはパラレルでビルドされてる。

          • by Anonymous Coward

            VC++6の頃ってcmakeは存在していない。
            存在しないコンパイラはパラレルどころか動かすことすらできない。

            • by Anonymous Coward

              s/コンパイラ/ビルドツール/

      • by Anonymous Coward

        XPには64bit版があるけど何でビルドされてたんだろ

      • by Anonymous Coward

        make関連はよく知らんので、相反するのか内包するのか(されるのか)わからないけど、OSのビルドには延々使いまわされてきたバッチファイルがあって、特定の職人芸持ってる人しか触れないとかいう話をどこかで読んだ記憶が。(ひょっとしてここだったかも?)

      • by Anonymous Coward

        Windows NTってなんかAlpha版とかいくつかのCPUアーキテクチャーに対応していたらしい。
        俺、アーキテクチャー数だけ並列にコンパイルする方法思いついたね。

        # たしか一時期WindowsのビルドサーバーがPowerPCだと聞いたような記憶がある。違ったら申し訳ない。
        # bit数とかCPUソケット数とかは知らない

Stableって古いって意味だっけ? -- Debian初級

処理中...