パスワードを忘れた? アカウント作成
7993 story

MicrosoftがC/C++最適化コンパイラを無償配布 43

ストーリー by Oliver
自由のフリー!=無料のフリー 部門より

takuto 曰く、 "MSDNでMicrosoftのC/C++コンパイラや標準ライブラリを含むMicrosoft Visual C++ Toolkit 2003が公開されています。これまでの.Net Framework SDKに含まれていた最適化機能のないコンパイラと違い、VC++ Toolkitに含まれるコンパイラは、Visual Studio .NET 2003 Professionalに含まれる物と同等の最適化機能を持った物だそうです。
なお、VC++ Toolkitに含まれるのは、コンパイラ・リンカ・STLを含む標準ライブラリで、開発環境をはじめとする他のツールや、MFC・ATLなどのライブラリは含まれません。また、Win32APIを使用するためには別途Platform SDKが必要です。DirectX SDKや.Net Framework SDKと組み合わせて使用することも可能なようです。
オープンソースソフトウェアでも、Windows上でのビルドにはMicrosoftのコンパイラを要求する物が少なくありませんし、いろいろと活用の道がありそうです。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • ライセンスなどはまだ見ていないのでその辺はどなたかに検証をお任せするとして、製品構成としては、コンパイラ、C/C++ 標準ライブラリ、.NET ランタイム、いくつかのサンプル、となっているようなのですが、単純に無償提供ということで対抗馬となる Borland C++ Compiler 5.5 [borland.co.jp]の場合、サンプルの類は含まれていないものの、それ自体に make ツールや、細かいところで grep や touch などが入っていたり、さらにTurbo Debugger 5.5 [borland.co.jp]なんてのが別途配布されていたりします (但しこちらはユーザー登録が必要)。

    # さすがに make は入ってるかもしれないけど。。。とにかく後で入れてみよ (~-_-)~

    個人的には、趣味レベルでもデバッガが無いと辛いんで、できればこいつも無償配布して欲しいなぁ~なんて (でも VC で IDE と乖離したデバッガってあんまり考えにくいカモ)。

    ところで、BCC の場合、結構前から無償配布を実施していたと言うこともあって、有志の手によりこんなもの [hi-ho.ne.jp]やあんなもの [vector.co.jp]が作られていたりして、趣味レベルの開発でなら結構楽しめる状況がそれなりに確立されていたりしています。 WIN32 でのウィンドウアプリの仕組みとかをしっかり学んで理解したい人には、下手に優れた開発環境を提供してくれるツールを購入してそれらの素晴らしいライブラリスケルトンにおんぶされるのではなくて、参考書片手にこの辺のツール使ってあれやこれやと試行錯誤してみたほうが意外と経験になるかも、とか思っていたりします (Linux とかエイゴとかどうにも辛いっす、という中高生~ヘタレ大学生にはオススメ?)。

    --
    むらちより/あい/をこめて。
    • ># さすがに make は入ってるかもしれないけど。。。とにかく後で入れてみよ (~-_-)~

      nmakeは含まれていないようですので別途.NET Framework SDKを入れる必要があるそうです。
      親コメント
    • そんなあなたにWinDBG [microsoft.com]を紹介します。
      カーネルモードだけでなく、ユーザーモードのコードもデバッグできます。クラッシュダンプを読んでくれるデバッガはWinDBGだけ(Bugslayer Dec 1999 Vol.14 No.12)だそうです。テキストベースのカーネルデバッガ(i386KD)とユーザーモードデバッガ(NTSD)をミックスしたものに、GUI部分を接ぎ木したようなものなので、多少クセはありますが非常に強力です。

      日本語の解説は、Best of MSDN Magazine〈2000年版下巻〉 [amazon.co.jp]のBugslayerの章に「WinDBGの使い方」、「WinDBGを拡張する方法」って記事があります。
      親コメント
    • by hsgw (14585) on 2004年04月20日 9時44分 (#534856)
      BCC はオープンソースに適用するにはめんどくさい問題がライセンス上にあります。 ライセンスの ■コンパイルしたプログラムと再配布可能ファイルに適用される一般条項 によると、
      このライセンス契約のすべての条件に従って、お客様は、追加的ライセンスや料金を払うことなく、本ソフトウェアを使って、お客様が作成したプログラムを、実行形式でのみ、コピー、配布することができます。
      だそうです。
      この条項により、ソースとコンパイル済みバイナリを単一のアーカイブにして配布することは禁止されますし、解釈によっては、 BCC によるコンパイル済みバイナリを配布した場合にはソースの配布ができない、ととることもできます。
      ちなみに、このライセンスの名称は「ナンセンスでないライセンス契約」です。どこがやねん。

      で、問題の Microsoft 版のほうはどんなライセンスになっているのでしょうか?
      親コメント
      • by Anonymous Coward on 2004年04月20日 10時13分 (#534869)
        BCCはオープンソースにも適用できる。

        ライセンス条項 [borland.co.jp]の同項「コンパイルしたプログラムと再配布可能ファイルに適用される一般条項」には
        もちろん、お客様自身のソースコードやバイトコードの配布が制限されているわけではありません。アプリケーションウィザードのようなボーランドのソースコードジェネレータでお客様が生成したソースコードはお客様のコードであるとボーランドはみなします。
        という条文もある。

        そもそもソースコードはコンパイルしたプログラムではないし、「再配布可能ファイル」というのもボーランドが提供するファイルの事だから違う。
        親コメント
        • って言うか、元々タイトルが「コンパイルしたプログラムと再配布可能ファイルに適用される一般条項」であって、コンパイルしたプログラムと再配布可能ファイルに付いて書かれているだけで、ソースに付いて書かれている条項ではないというのは自明なのでは?
      • by Anonymous Coward on 2004年04月20日 10時13分 (#534871)
        END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
        MICROSOFT VISUAL C++ TOOLKIT 2003

        IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation ("Microsoft") for the Microsoft software that accompanies this EULA, which includes computer software and may include associated media, printed materials including best practices, white papers, templates, "online" or electronic documentation, and Internet-based services ("Software"). An amendment or addendum to this EULA may accompany the Software. YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE. IF YOU DO NOT AGREE, DO NOT INSTALL, COPY, OR USE THE SOFTWARE.

        MICROSOFT Software LICENSE 1. GRANTS OF LICENSE. Microsoft grants you the rights described in this EULA provided that you comply with all terms and conditions of this EULA. 1.1 General License Grant. Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the Software (i) for your internal use; (ii) for designing, developing, testing and demonstrating your software product(s); and (iii) for evaluation of the Software. 1.2 Documentation. You may make and use an unlimited number of copies of any documentation, provided that such copies shall be used only for personal internal purposes and are not to be republished or distributed (either in hard copy or electronic form) beyond your premises except as otherwise specifically provided herein. 2. ADDITIONAL LICENSE RIGHTS -- REDISTRIBUTABLES. In addition to the rights granted in Section 1, certain portions of the Software, as described in this Section2, are provided to you with additional license rights. These additional license rights are conditioned upon your compliance with the distribution requirements and license restrictions described in Section 3. 2.1 Sample Code. Microsoft grants you the right to use and modify the source code version of those portions of the Software identified as "Samples" in REDIST.TXT or elsewhere in the Software ("Sample Code") for the sole purposes of designing, developing, and testing your software product(s), and to reproduce and distribute the Sample Code along with any modifications thereof, in object and/or source code form. For applicable redistribution requirements for Sample Code, see Section3.1 below. 2.2 Redistributable Code-General. Microsoft grants you a nonexclusive, royalty-free right to reproduce and distribute the object code form of any portion of the Software listed in REDIST.TXT ("Redistributable Code"). For general redistribution requirements for Redistributable Code, see Section 3.1, below.

        3. LICENSE RESTRICTIONS -- DISTRIBUTION REQUIREMENTS. If you choose to exercise your rights under Section2, any redistribution by you is subject to your compliance with the following terms. 3.1 If you are authorized and choose to redistribute Sample Code or Redistributable Code (collectively, the "Redistributables") as described in Section 2, you agree: (i) except as otherwise noted in Section 2.1 (Sample Code) to distribute the Redistributables only in object code form and in conjunction with and as a part of a software application product developed by you that adds significant and primary functionality to the Redistributables ("Licensee Software"); (ii) that the Redistributables only operate in conjunction with Microsoft Windows platforms; (iii) to distribute the Licensee Software containing the Redistributables pursuant to an end user license agreement (which may be "break-the-seal", "click-wrap" or signed), with terms no less protective than those contained in this EULA; (iv)not to use Microsoft's name, logo, or trademarks to market the Licensee Software; (v) to display your own valid copyright notice which shall be sufficient to protect Microsoft's copyright in the Software; (vi) not to remove or obscure any copyright, trademark or patent notices that appear on the Software as delivered to you; (vii) to
        親コメント
      • あれ?それはランタイム使用について制限を行わないってだけの意味では?

        ランタイムに配布制限があると、ソースだけ公開して自分でコンパイルしてって方法になるけど、それを行わないでも実行形式だけで勝手に配布して良いってだけでしょう。
        元々ソースなんて単なるテキストなんですから公開の制限なんか出来ないですから。

      • > 本ソフトウェアを使って、お客様が作成したプログラムを、
        すでにいろいろ出てますが、まあ簡単に言えば、
        ソースコードは「BCCを使って作成したプログラム」ではないので
        何の関係もあるわけないってことですね。

    • それ自体に make ツールや、細かいところで grep や touch などが入っていたり、さらにTurbo Debugger 5.5 [borland.co.jp]なんてのが別途配布されていたりします

      ビジュアルデバッガは他の方も書いているようにWinDBGを使えば問題ないと思います。

      コマンドラインツールに関しては、同じく無償配布されているSFU [microsoft.com]と組み合わせたり出来ないでしょうかね。そうすればコマンドライン環境に関してはほぼ問題なくなりそうな気がします。
      親コメント
    • CLR向けなら.NET FrameworkSDKにビジュアルデバッガも入ってませんでしたっけ?
      あれでManagedなコードなら追えたりしないのか?
  • ライセンスは? (スコア:3, 参考になる)

    by daisuke (6827) on 2004年04月20日 3時17分 (#534790) ホームページ 日記
    一番肝心のライセンスがダウンロードしてセットアップしないと読めないようになっているようなのですが、どうなっているのでしょうか。
    #手元に使える環境がない...
  • マニュアル (スコア:3, 参考になる)

    by masaru_al (15915) on 2004年04月20日 10時15分 (#534873)
    コンパイラ オプション [microsoft.com] & リンカ オプション [microsoft.com]

    ダウンロードしてインストールしてみたけれど、本当に最小限のものしか入ってないんですねぇ。

  • by allyourbase (14654) on 2004年04月20日 22時44分 (#535411) 日記
    Intel Compilers for Windows (C++, Fortran)は動作にVisual C++ .netかVisual Studio .netが
    必須なんですが(リンカ等が付属しない),Microsoft Visual C++ Toolkit 2003とPlatform SDKを
    インストールしたマシンにIntel Fortranを入れてみたところコンソールアプリのコンパイルから実行まで
    正常に行えることが確認できました.

    設定ファイルを多少いじる必要が有りますが,なんでMSのコンパイラまで買わないといけないんだよ
    と不満を抱いていた人には朗報だとおもいます.
    ちなみに私の研究室ではIntel fortranをフローティングライセンスで買ってあるのでVisual C++ .netを
    買わなくて良い分だけ経費の節減になりそうです.

    Intel Compilersなんてそう使われてないかもしれませんが参考まで.
  • by Anonymous Coward on 2004年04月20日 3時43分 (#534792)
    左が VS.NET 2003、真ん中が 今回の Toolkit、右が VS.NET
    cl.exe : 13.10.3077 - 13.10.3052 - 13.00.9466
    link.exe : 7.10.3077 - 7.10.3052 - 7.00.9466

    というわけで、恐らく VS.NET 2003「相当」ですが、リビジョンが異なるようです。
    バイナリ比較しても別ファイルでした。

    実際の動作の差異については分からないので AC
    # 微妙なバグがあったらドツボにはまりそうで怖い
  • by shn (7678) on 2004年04月20日 5時09分 (#534799) ホームページ
    やった! 2003ゲットしなくて良いじゃん! と
    VisualStudio .NET2002に突っ込んでみたところ、DLL系のランタイムが無くて僕のプログラムは通りませんでした。
    他に試して見た人がいたら、情報希望です。
    でもC#なんかは問題無く使えそうだし、gccより速いし、良いんじゃないのこれ?

    # MicroSoftはそのうち開発環境をタダにするんじゃないかと思うとドキドキしちゃって夜も眠れません。
  • by znc (2768) on 2004年04月20日 9時19分 (#534836)
    ええと・・・Visual C++ toolkit 2003 だけだと足りないものが
    結構あるみたいですが後何が必要になりそうですか?

    今のところ
    nmake - .NET Framework SDK Ver.1.1
    win32api - Platform SDK (基本部分はcoreだけでもOK?)
    DirectX - DirectX SDK
    というところでしょうか?

    # 個人的にはnmakeだけあれば何とかなりそうな気がしないでも無い。
    --
    『今日の屈辱に耐え明日の為に生きるのが男だ』
    宇宙戦艦 ヤマト 艦長 沖田十三氏談
    2006/06/23 JPN 1 - 4 BRA
    • Re:後何が必要? (スコア:2, 参考になる)

      by znc (2768) on 2004年04月20日 9時28分 (#534845)
      ちゃんと見ていなかったけど.NET Framework SDK Ver.1.1 には最適化機能無しでよければコンパイラ入っていたみたいですね・・・
      とすると,インストール順序は・・・

      1. .NET Framework 1.1 (Windows updateでダウンロードできるものと同じ?)
      2. .NET Framework 1.1 Language pack(Windows updateでダウンロードできるものと同じ?)
      3. .NET Framework 1.1 SDK
      4. Visual C++ toolkit 2003
      5. Platform SDK他各種SDK

      でしょうか・・・
      MFCはさすがにVisual Studio買うしか無いみたいだけど
      こればかりは仕方がないか・・・
      --
      『今日の屈辱に耐え明日の為に生きるのが男だ』
      宇宙戦艦 ヤマト 艦長 沖田十三氏談
      2006/06/23 JPN 1 - 4 BRA
      親コメント
      • by Anonymous Coward
        .NET Framework SDK Ver.1.1 に C++ のコンパイラなんて入ってます?C# と VB.NET、J# なら、VS.NET2003製品版と全く同じものが入ってますけど。
        ボーランドの、C# Builder も .NET Framework SDK Ver.1.1 の C# コンパイラをそのまま使ってます。昔から、コンパイラの最適化の程度の低さには定評がありますから、IDE に特化して、コン
        • by znc (2768) on 2004年04月20日 10時10分 (#534866)
          .NET Framework 1.1はランタイムの事です.
          msdnのページを見ていたらSDKのインストールの前に必要とあったので
          追加しました.

          最適化無しコンパイラというのはタレ込み文の受け売りです.
          あとnmakeが入っているというのが非常に大きい.

          # そういえばVisual C++ .NET 2003 standardには最適化コンパイラは
          # 入っていなかったと記憶しているけど・・・
          # これを使えば最適化コンパイラが使えるという事にはならないかなぁ・・・
          # でもstandardはコンパイル済モジュールの配布に制限があった様な・・・
          --
          『今日の屈辱に耐え明日の為に生きるのが男だ』
          宇宙戦艦 ヤマト 艦長 沖田十三氏談
          2006/06/23 JPN 1 - 4 BRA
          親コメント
          • 私も実はそれがちょっと気になって調べていたのですが、現状 VC++.NET 2003 は Standard 版しか存在しないようなのですが、Microsoft の機能概要のページ [microsoft.com]では冒頭で、

            Visual C++ .NET 2003 は、パフォーマンスを重視する強力なアプリケーションを作成するための、定評あるオブジェクト指向言語を開発者に提供します。ISO 認定の高度なテンプレート機能、低階層プラットフォーム アクセス、最適化コンパイラなど、Visual C++ .NET 2003 は堅牢なアプリケーションやコンポーネントを作成するのに必要な優れた機能を備えています。

            とあるので、もしかしたら単品販売でも最適化コンパイラが含まれている (もっといえば、今さら最適化しないコンパイラなんぞ作っていない) のかもしれません。

            逆に、単品売りの VC++.NET 2003 が最適化しないコンパイラを含んでいる場合、IDE に最適化コンパイルの為のオプションを選択する項目が用意されていない可能性が大きいので、コンパイラだけ差し替えてもちょっと不便な環境になってしまいそうな気もします。。

            # あとでどこかのお店に寄ってハコの裏見て確認してみます。。。

            --
            むらちより/あい/をこめて。
            親コメント
            • by Anonymous Coward on 2004年04月20日 12時40分 (#534974)
              IDEにはコマンドラインに流す追加のオプションをマニュアルで設定できる項目があるので、
              個別の項目が用意されていなくても大丈夫ですよ。
              親コメント
      • by Anonymous Coward
        MFCが無くてもWTL [microsoft.com]があれば多くは事足りるのでは。
    • by Mc.N (3705) on 2004年04月20日 16時50分 (#535122) 日記
      DDK [microsoft.com]は欲しい所ですね。
      #また無償配布を開始してくると嬉しいのですが。
      後これも配布が終了してしまった(けど FTP site には残っていたりする)Qt/Windows [srad.jp]も動作してくれると楽しいかも。C++ GUI Programming with Qt 3 [slashdot.org]に付属している「non-commercial "book-version" of Qt/Windows 3.2」なら Visual Studio .NET 2003 に対応していたので動作する可能性は高いかも。
      --
      Mc.N
      親コメント
  • すでにVC++ .NET 2003を買ってしまった俺は負け組ですか?そうですか○| ̄|_
    • by Anonymous Coward on 2004年04月21日 1時23分 (#535497)
      SharpDevelop [osdn.jp]がまともに使えるものになるのを待ちきれなくて、
      VisualStudio.NET 2003を買ってしまった俺も負け組ですか?そうですか○| ̄|_

      #本当なのでAC
      親コメント
    • 単機能製品で買っちゃったんなら、#534799 [srad.jp]みたく試してみたら?
      うまくいったら、今回の話はおいしいんじゃない?
      でも、#534974 [srad.jp]見ると、そういう話じゃないのかも。

      # つーか、VisualStudio高いよ。。。
  • とりあえず (スコア:0, おもしろおかしい)

    by Anonymous Coward on 2004年04月20日 3時14分 (#534789)
    マイクロソフトマンセーと言っておこうか。
  • by Anonymous Coward on 2004年04月20日 15時04分 (#535065)
    cl : コマンド ライン warning D4029 : 標準の編集コンパイラでは最適化は使用できません。

    このメッセージも拝むことがなくなるんですね。

    Standard Edition Compiler → 標準の編集コンパイラ
  • by Anonymous Coward on 2004年04月21日 12時09分 (#535695)
    VC++6.0(というかVS6.0)のIDEからこのコンパイラを使うようにするには、どこで設定すればいいのでしょうか。。。
    • bin ディレクトリの内容を VC++6.0 の bin ディレクトリに上書きコピーする。

      # これでうまくいくかは未確認。自己責任でやってね。
      • Release はなんとかうまくいくけど、
        Debug の時に、
        unresolved external symbol @_RTC_CheckStackVars@8
        などの嵐に。。。

        コンパイルオプションをいろいろといじっているけど、
        うまくいきません。

        Debug は VC6 でやって、
        完成品を このコンパイラでコンパイルすればいいかも。
        --
        by rti.
        親コメント
        • たぶん、インクルードファイルやライブラリも上書きコピー
          しなければならないんだと思う。

          コンパイラが暗黙で呼び出すライブラリ関数も変わったから。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...