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のコンパイラを要求する物が少なくありませんし、いろいろと活用の道がありそうです。"
BCC に対抗、というわけでもないんだろうけど (スコア:5, 参考になる)
ライセンスなどはまだ見ていないのでその辺はどなたかに検証をお任せするとして、製品構成としては、コンパイラ、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 とかエイゴとかどうにも辛いっす、という中高生~ヘタレ大学生にはオススメ?)。
むらちより/あい/をこめて。
Re:BCC に対抗、というわけでもないんだろうけど (スコア:3, 参考になる)
nmakeは含まれていないようですので別途.NET Framework SDKを入れる必要があるそうです。
Re:BCC に対抗、というわけでもないんだろうけど (スコア:3, 参考になる)
カーネルモードだけでなく、ユーザーモードのコードもデバッグできます。クラッシュダンプを読んでくれるデバッガはWinDBGだけ(Bugslayer Dec 1999 Vol.14 No.12)だそうです。テキストベースのカーネルデバッガ(i386KD)とユーザーモードデバッガ(NTSD)をミックスしたものに、GUI部分を接ぎ木したようなものなので、多少クセはありますが非常に強力です。
日本語の解説は、Best of MSDN Magazine〈2000年版下巻〉 [amazon.co.jp]のBugslayerの章に「WinDBGの使い方」、「WinDBGを拡張する方法」って記事があります。
Re:BCC に対抗、というわけでもないんだろうけど (スコア:0)
BCC はオープンソースには適用できない (スコア:1, 参考になる)
この条項により、ソースとコンパイル済みバイナリを単一のアーカイブにして配布することは禁止されますし、解釈によっては、 BCC によるコンパイル済みバイナリを配布した場合にはソースの配布ができない、ととることもできます。
ちなみに、このライセンスの名称は「ナンセンスでないライセンス契約」です。どこがやねん。
で、問題の Microsoft 版のほうはどんなライセンスになっているのでしょうか?
BCCはオープンソースにも適用できる (スコア:2, 参考になる)
同ライセンス条項 [borland.co.jp]の同項「コンパイルしたプログラムと再配布可能ファイルに適用される一般条項」には という条文もある。
そもそもソースコードはコンパイルしたプログラムではないし、「再配布可能ファイル」というのもボーランドが提供するファイルの事だから違う。
Re:BCCはオープンソースにも適用できる (スコア:0)
これのライセンス (スコア:2, 参考になる)
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
Re:BCC はオープンソースには適用できない (スコア:0)
ランタイムに配布制限があると、ソースだけ公開して自分でコンパイルしてって方法になるけど、それを行わないでも実行形式だけで勝手に配布して良いってだけでしょう。
元々ソースなんて単なるテキストなんですから公開の制限なんか出来ないですから。
Re:BCC はオープンソースには適用できない (スコア:0)
ソースコードは「BCCを使って作成したプログラム」ではないので
何の関係もあるわけないってことですね。
Re:BCC に対抗、というわけでもないんだろうけど (スコア:1)
ビジュアルデバッガは他の方も書いているようにWinDBGを使えば問題ないと思います。
コマンドラインツールに関しては、同じく無償配布されているSFU [microsoft.com]と組み合わせたり出来ないでしょうかね。そうすればコマンドライン環境に関してはほぼ問題なくなりそうな気がします。
Re:BCC に対抗、というわけでもないんだろうけど (スコア:2, 興味深い)
Re:BCC に対抗、というわけでもないんだろうけど (スコア:0)
Re:BCC に対抗、というわけでもないんだろうけど (スコア:0)
あれでManagedなコードなら追えたりしないのか?
ライセンスは? (スコア:3, 参考になる)
#手元に使える環境がない...
Re:ライセンスは? (スコア:1)
というわけで、実際にセットアップした人のフォローが欲しいのですが…
Re:ライセンスは? (スコア:1)
内容はこれ [srad.jp]ですね。
下の方だったんで見てなかった(^^;
マニュアル (スコア:3, 参考になる)
ダウンロードしてインストールしてみたけれど、本当に最小限のものしか入ってないんですねぇ。
Intel Compilers for Windowsは一応動作 (スコア:3, 参考になる)
必須なんですが(リンカ等が付属しない),Microsoft Visual C++ Toolkit 2003とPlatform SDKを
インストールしたマシンにIntel Fortranを入れてみたところコンソールアプリのコンパイルから実行まで
正常に行えることが確認できました.
設定ファイルを多少いじる必要が有りますが,なんでMSのコンパイラまで買わないといけないんだよ
と不満を抱いていた人には朗報だとおもいます.
ちなみに私の研究室ではIntel fortranをフローティングライセンスで買ってあるのでVisual C++ .netを
買わなくて良い分だけ経費の節減になりそうです.
Intel Compilersなんてそう使われてないかもしれませんが参考まで.
バージョンを比べてみる (スコア:2, 参考になる)
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
# 微妙なバグがあったらドツボにはまりそうで怖い
Re:バージョンを比べてみる (スコア:1, 参考になる)
確率よりも多分低い [sourceforge.net]と思うが。
#g++頑張れ
Re:バージョンを比べてみる (スコア:0)
バグはそのままだあ。こんなバグはあとまわしだろうけど。
# 簡単に回避できるのでID
Re:バージョンを比べてみる (スコア:0)
.NET 2002に突っ込んでみた (スコア:2, 興味深い)
VisualStudio .NET2002に突っ込んでみたところ、DLL系のランタイムが無くて僕のプログラムは通りませんでした。
他に試して見た人がいたら、情報希望です。
でもC#なんかは問題無く使えそうだし、gccより速いし、良いんじゃないのこれ?
# MicroSoftはそのうち開発環境をタダにするんじゃないかと思うとドキドキしちゃって夜も眠れません。
Re:.NET 2002に突っ込んでみた (スコア:1)
http://www.microsoft.com/japan/msdn/vstudio/specialoffer/default.asp
後何が必要? (スコア:1)
結構あるみたいですが後何が必要になりそうですか?
今のところ
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, 参考になる)
とすると,インストール順序は・・・
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
Re:後何が必要? (スコア:0)
ボーランドの、C# Builder も .NET Framework SDK Ver.1.1 の C# コンパイラをそのまま使ってます。昔から、コンパイラの最適化の程度の低さには定評がありますから、IDE に特化して、コン
Re:後何が必要? (スコア:1)
msdnのページを見ていたらSDKのインストールの前に必要とあったので
追加しました.
最適化無しコンパイラというのはタレ込み文の受け売りです.
あとnmakeが入っているというのが非常に大きい.
# そういえばVisual C++ .NET 2003 standardには最適化コンパイラは
# 入っていなかったと記憶しているけど・・・
# これを使えば最適化コンパイラが使えるという事にはならないかなぁ・・・
# でもstandardはコンパイル済モジュールの配布に制限があった様な・・・
『今日の屈辱に耐え明日の為に生きるのが男だ』
宇宙戦艦 ヤマト 艦長 沖田十三氏談
2006/06/23 JPN 1 - 4 BRA
最適化コンパイラ (スコア:2, 参考になる)
私も実はそれがちょっと気になって調べていたのですが、現状 VC++.NET 2003 は Standard 版しか存在しないようなのですが、Microsoft の機能概要のページ [microsoft.com]では冒頭で、
とあるので、もしかしたら単品販売でも最適化コンパイラが含まれている (もっといえば、今さら最適化しないコンパイラなんぞ作っていない) のかもしれません。
逆に、単品売りの VC++.NET 2003 が最適化しないコンパイラを含んでいる場合、IDE に最適化コンパイルの為のオプションを選択する項目が用意されていない可能性が大きいので、コンパイラだけ差し替えてもちょっと不便な環境になってしまいそうな気もします。。
# あとでどこかのお店に寄ってハコの裏見て確認してみます。。。
むらちより/あい/をこめて。
Re:最適化コンパイラ (スコア:1, 参考になる)
個別の項目が用意されていなくても大丈夫ですよ。
Re:後何が必要? (スコア:0)
Re:後何が必要? (スコア:1)
「D・D・K!」 (スコア:1)
#また無償配布を開始してくると嬉しいのですが。
後これも配布が終了してしまった(けど 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
なにやら面倒くさいので (スコア:1)
Re:なにやら面倒くさいので (スコア:2, 参考になる)
VisualStudio.NET 2003を買ってしまった俺も負け組ですか?そうですか○| ̄|_
#本当なのでAC
Re:なにやら面倒くさいので (スコア:0)
うまくいったら、今回の話はおいしいんじゃない?
でも、#534974 [srad.jp]見ると、そういう話じゃないのかも。
# つーか、VisualStudio高いよ。。。
とりあえず (スコア:0, おもしろおかしい)
標準の編集コンパイラ (スコア:0)
このメッセージも拝むことがなくなるんですね。
Standard Edition Compiler → 標準の編集コンパイラ
恥ずかしい話なんですが。 (スコア:0)
Re:恥ずかしい話なんですが。 (スコア:0)
# これでうまくいくかは未確認。自己責任でやってね。
Re:恥ずかしい話なんですが。 (スコア:1)
Debug の時に、
unresolved external symbol @_RTC_CheckStackVars@8
などの嵐に。。。
コンパイルオプションをいろいろといじっているけど、
うまくいきません。
Debug は VC6 でやって、
完成品を このコンパイラでコンパイルすればいいかも。
by rti.
Re:恥ずかしい話なんですが。 (スコア:0)
しなければならないんだと思う。
コンパイラが暗黙で呼び出すライブラリ関数も変わったから。