none
最新の開発環境について RRS feed

  • 質問

  • C言語でネイティブコードを吐かせたいのですが、Visual Studio 2017 のどのバージョンであれば、最適化コンパイラを使えるでしょうか?きわめて基本的なんですが、マイクロソフトのVisual Studio のページを見ても何も書いていないので、仕方がなくここで聞くことにしました。

    よろしくお願いします。

    2017年5月18日 22:00

すべての返信

  • 昔は、Visual C++ の エディション によってコンパイラの最適化オプションが使えるものと使えないもがありましたが、現在 (Visual Studio 2017)では、ガイド付き最適化のプロファイル(PGO)を含めて、すべてのエディションで最適化オプションを使用可能なようです。

    参考サイト:

    https://ja.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B

    https://msdn.microsoft.com/ja-jp/library/hh409293.aspx

    2017年5月19日 1:44
  • ottan3104 さま よろしく。

    TechNet でご質問ですが、C 等の開発環境については VC++ フォーラムが適切だと思います。
    https://social.msdn.microsoft.com/Forums/ja-JP/home?forum=vcgeneralja

    そこで、OS version を明記の上、再度、ご質問なさっては如何でしょうか?。

    尚、
    VS2017 は バージョンが 半自動(ユーザー指示)で更新される形ですから、どれを選択と言う訳にはいかないのではないでしょうか?。
    基本は、最新版をどうぞ になるかと。

    また、万一、モジュールバージョン毎に不具合があるとしても、OffLine Install を選択して置けば、組み合わせは自在とも思います。

    • 編集済み ShiroYuki_Mot 2017年5月19日 9:48 語句訂正 まちがえました
    2017年5月19日 1:53
  • 確かに上のリンクの方は私も読んだ記憶があります。2005からは、最適化コンパイラが搭載されるようになったということは書かれているのですが、それが確実かどうかわからなかったので、ちょっと不安になりました。

    下のリンクの方は確かに最適化のプロファイルができると書いてありますね。そうするとCommunity Editionで普通に最適化されたバイナリがプロファイルもでき、作ることができると考えてもよいと思います。

    この只のエディションで、商用のプログラムも作ってもいいもんなんですかねぇ。こういう質問もマイクロソフトのサポートなんかに聞いてみたいんですが、なぜかサポートというとどんどん有料のサポートオプションに導かれてしまうのは非常にしんどいですね。ここで質問しているのも、それが理由です。極々、基本的なことは普通に掲載してほしいものです。

    2017年5月19日 22:38
  • VC++フォーラムは気が付きませんでした。今後は気を付けます。でも、C++っていう感じではなく、普通のCのプログラムだけなんですよね。私はC++が大嫌いです。Cは大好きですが。実はVisual Studioも本当はインストールしたくありません。コンパイラだけでもいいんですよね、C++使わないなら。でも、SDKにはコンパイラはどうも含まれてはいないような記述が見受けられたので、仕方がなく質問していました。

    エディションに関してはkenjinoteさんの意見で間違いないと思いますので、次から何か質問があったらVC++の方へ質問します。

    あー、OSは Windows10 Creators Update です。Windows10も本当はあんまりよく思っていないんです。いちいちLook&Feelを変えるのでしんどいんですよね。タブレット対応でよこからウインドウがずるずる出てくるのもあんまり好きじゃないんですよね。ただ、10に関してはかなり最適化されていますね。Edgeも速いですし、起動の速度も改善されています。久しぶりに「マイクロソフトも一応考えているだなぁ。」と思いました。

    でもWindows10でOSとしてのリリースを終わるとネットにも書いてあったので、今後はどうなるんでしょうね?全く今までのWindowsとは違う、速くて使いやすいOSが出てくれば、うれしいなと思っています。

    2017年5月19日 22:51
  • この只のエディションで、商用のプログラムも作ってもいいもんなんですかねぇ。

    「商用」という言葉が何を指しているか次第でしょう。
    単に個人として有償品を作るという意味なら以下のサイトの FAQ が参考になるでしょう。

    https://www.microsoft.com/ja-jp/dev/products/community.aspx

    基本的に Community のエディションの制約は、「利用する資格があるかないか」であり、開発された成果物に対する制限とはなっていません。

    2017年5月20日 10:30
    モデレータ
  • 実はVisual Studioも本当はインストールしたくありません。コンパイラだけでもいいんですよね、C++使わないなら。でも、SDKにはコンパイラはどうも含まれてはいないような記述が見受けられたので、仕方がなく質問していました。

    Visual Studio 2017 はコンポーネントを細かく選べるようになっていますので、不要なものはどんどんチェックを外したら良いでしょう。
    たとえば、C# も C++ も何も入れなかったら、Visual Studio Shell という外側だけで何もできないものを入れることすらできます。

    一応、最近は "Visual Studio Build Tools" という名前でコンパイラなどのコンポーネントが存在しますが、単独でインストールは試していません。
    参考:https://blogs.msdn.microsoft.com/vcblog/2016/11/16/introducing-the-visual-studio-build-tools/

    2017年5月20日 10:36
    モデレータ
  • ottan3104 さま 拝見しました。

    VC++ が嫌いと仰るのなら、
    Visual Studio Code + gcc では如何ですか?。
    gcc:The GNU Compiler Collection
    「windows c コンパイラ gcc 最適化 VS Code」等の語句で検索すれば色々な情報がありますが、
    ここは Microsoft さまの運営するサイトなので、これ以上は書きません。

    2017年5月20日 11:21
  • Visual Studio Code ではなく vim で十分です。mingw-w64はインストールしています。これで、開発するだけでしたら十分です。私は若い頃からUnix Workstationで仕事をしていたので、vi とコンパイラだけを使っていました。emacsもプロジェクトが大きい場合は使っていました。

    どうせC++は使いっこないんで、開発環境はこれで十分です。でも、仕事となると正規のコンパイラが必要かな?と思ったので聞いてみました。

    2017年5月20日 18:31
  • 確かにコンポーネントをかなり絞り込むことはできそうですね。暇があったら、ゆっくり見てみることにします。コンパイラとプロファイラくらいは使いたいのでその線でちょっとずつ調べます。

    ありがとうございました。

    2017年5月20日 18:34
  • でも、仕事となると正規のコンパイラが必要かな?と思ったので聞いてみました。

    どういった「仕事」かはわかりませんが、Visual Studio Community は「企業で使う」、「仕事を請け負う」ケースについて利用できない可能性がある点に注意してください。

    https://www.microsoft.com/ja-jp/dev/products/community.aspx

    2017年5月20日 22:58
    モデレータ
  • エディタが vim で十分なら、Build Tools for Visual Studio 2017 と組み合わせるのが良いでしょうね。

    VC++ コンパイラでも、(++ でない)C のコードのコンパイルは可能です。


    hebikuzure

    2017年5月21日 3:56
  • フォーラムオペレーターの栗下 望です。
    ottan3104 さん、こんにちは。

    本件ですが、
    ご投稿いただいていた"Windows 10"フォーラムよりも、
    MSDN フォーラムの"Visual C++"フォーラムのほうがより情報が集まりやすいかと思いましたので、
    スレッドの移動をさせていただきました。

    MSDN フォーラム > Visual Studio Development > Visual C++

    ご自身のスレッドは画面左上の「クイック アクセス」の「マイ スレッド」にて確認いただけます。

    ご参考になった情報が寄せられましたら[回答としてマーク]のご設定もお願いいたしますね。

    どうぞよろしくお願いいたします。


    MSDN/TechNet Community Support 栗下 望



    2017年5月22日 5:14
    モデレータ
  • 「最適化コンパイラを使えるでしょうか?」の本意、つまり「最適化」に求める機能によるかもしれません。
    最近のVSの最適化と明示されたオプションの選択項目は「最適化無し」「実行速度」「実行サイズ」「最大限」程度です。
    (昔はもうちょっと個別に選択できましたが・・)
    あと、最適化に関係するものでは、デフォルトの「呼び出し規約」の設定やインライン展開(VSのC言語では可能)のお願いなどでしょうか。

    詳しくは「Visual Studio Optimize compile option」等のキーワードで検索してみてはいかがでしょう(300万件ほどヒットしますが)。

    2017年5月22日 10:06