Visual Studio 2017 Part4
レス数が1000を超えています。これ以上書き込みはできません。
Update で更新された詳細って、どこかのページに出てるだろうか? 日本語のリリースノートは更新が遅れがちなので、最新情報は英語版のリリースノートをまず確認 VS2017、C/C++でのWindowsXP向けビルドについて質問です。
VS2017をインストールしている環境はWindows10です。
新しいプロジェクト → Windows コンソールアプリケーション
という手順でプロジェクトを作成し、以下のようなプログラムを組みます。
#include "stdafx.h"
#include <stdlib.h>
int main()
{
int month, day = -100, num;
num = sscanf_s("1月1日", "%d月%d日", &month, &day);
printf("month=%d, day=%d, num=%d\n", month, day, num);
system("pause");
return 0;
}
このままビルドして実行すると表示されるのは当然の如く、
month=1, day=1, num=2
ですが、このプロジェクトの設定はデフォルトでWin10向け設定なので以下のように変更します。 構成プロパティ → 全般
→ Windows SDK バージョン
10.0.16299.0 → 7.0
→ プラットフォームツールセット
Visual Studio 2017 (v141) → Visual Studio 2017 - Windows XP (v141_xp)
また、さらに最終的に配布段階でライブラリ導入の手間を省くため、以下のようにもします。
構成プロパティ → C/C++ → コード生成
→ ランタイムライブラリ
マルチスレッド デバッグ (/MTd) → マルチスレッド デバッグ DLL (/MDd)
(ここではデバッグプロジェクトから引用していますが、リリースプロジェクトでは当然デバッグなしのを使います)
この設定でビルドして実行した場合、以下の結果になります。
month=1, day=-100, num=1
VS2013を元々使っていたので、こちらを利用して
→ プラットフォームツールセット
Visual Studio 2017 (v141) → Visual Studio 2013 - Windows XP (v120_xp)
とした場合は問題の無い実行結果となります。
これは単純にVS2017のバグと思っていいのでしょうか? 一つ間違えました。
使うライブラリーは逆でした。
構成プロパティ → C/C++ → コード生成
→ ランタイムライブラリ
debug マルチスレッド デバッグ DLL (/MDd) → マルチスレッド デバッグ (/MTd)
release マルチスレッド DLL (/MD) → マルチスレッド デバッグ (/MT)
ようするにVC DLLを必要とせずに動くような設定です。
よろしくお願いします。 そうみたい。ちなみにswscanf_s()だと両方とも同じ挙動でした >これは単純にVS2017のバグと思っていいのでしょうか?
いいえ VS2017のバグかどうかは調べないとわからないが
ロケールをどうこうすれば期待通り動作する気がする 理由も示さずに断定した1人以外誰もコンパイラのせいという可能性を除外してないけどな どうもすみません。
バグとは書きましたが、コンパイラやライブラリに限定したつもりはなく、
単にVS2017というパッケージに対する不具合の指摘のつもりでした。
バグという言葉がソフトウェアプログラムソースにしか使われないものであれば
その言葉を撤回いたします。
ロケール云々は自分でも気になっていましたが、事前にsetlocaleを実行しても結果は変わりませんでした。
setlocale(LC_ALL, "JPN");
>>922さんの通り、swscanf_s()だと問題はないようです。
マルチバイト文字を使っているシステムは、早々にワイド文字を使うよう切り替え修正しないといけないのでしょうかね。
というかXPを切り捨てることが先決か・・・
とりあえず当面は Visual Studio 2013 - Windows XP (v120_xp) で凌ぎます。
どうもありがとうございました。 >>929
こんなこともあったのですね。
問い合わせしたことないので窓口がよく分かりませんが、VS2017→ヘルプ→フィードバックの送信
でいいのかな・・日本語でいいのだろうか。。
どうもありがとうございます。 VS2015 で問題ない組み合わせ
(sdk8.1、ツールセット v140_xp、ランタイムはマルチスレッドデバッグ) でも
VS2017 でビルドすると問題起きるね
せっかくプラットフォームツールセットが分離されててもあんまり意味ないなこれ 結構長い間VSのアップデートが来ないけど
なぜか安らぎを感じるw visual studio2017のlinuxクロスコンパイルプロジェクトでファイル名に_って使えない?
エラーでるんだが >>932
毎度確認ありがとうございます。
設定が細かくなって色々調べながら設定してきましたが、
こんなことだと気を遣うだけ損な感じですね・・
>>934
非常に由々しき問題ですね。
VS2013に戻そうと思います。
こんな対応だと、MBCSの対応を切ると宣言してくれた方がすっきりしますね。 じゃあ何使うんだ?
もしかしてコンソール入力と勘違いしてるバカ? Release Date: February 20, 2018 - Visual Studio 2017 version 15.5.7
What's New in this Release
Team Explorer support for TLSv1.2
We have updated the Git and the Git Credential Manager components that ship in Visual Studio.
The optional Git for Windows component has also been updated.
This update allows Git to connect to services that have deprecated support for TLSv1 and TLSv1.1 in favor of TLSv1.2.
Issues Fixed in this Release
These are the customer-reported issues addressed in this release:
Projects targeting .NET Core 2.1 or newer are not supported by Visual Studio 2017 version 15.5.
Fixed issue where installation of the SDK for .NET Core 2.1 or newer would cause the option to create ASP.NET Core 2.0 Web applications to disappear. OSとVisual Studioは連動しているだろう
これを機会にwindows10を購入を検討してみては如何でしょう
俺も昔は関係ないと思っていた時代があったよ Windows史上最悪のクソOS
機能にはあまり文句はないが
いらんことばっかりしやがるM$の悪癖全開 Windows10でもグループポリシーの設定でWindows Updateのタイミングを手動にできるからそんなに困らないけどな 15.5.6がPreview 2なんだが、なんで5.7きたん?w プレビューは15.6.0 Preview 5.0では? リリース版とプレビュー版の区別ついてないだろ
February 20, 2018 -- Visual Studio 2017 version 15.5.7
February 14, 2018 -- Visual Studio version 15.6 Preview 5
上記に記した通り二種類有るんだよ
きっと初心者さんで始めたばかりなんだね
https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes >>944
あのな、手動にしてもいつかはしないといけなくなる。
その時に問題起こしまくりなんだよ。 >>948
下手に古い環境残したままアプグレとかするから問題を起こすんだよ
クリーンインストールだとそうそう問題なんか起きない
VSを使っていればOSの再インストールなんか日常茶飯事だし、むしろ最新のVSを古いWindowsに導入している方が互換性問題を引き起こす可能性が高い >>950
何が言いたいのか分からんけどSurfaceのスレにでも行けよ >>951
純正ハードで最初からWin10インストール済みの機種でさえ大型アップデートで問題起こすんだよ
お前、わざと不具合隠そうとしてるだろ >>952
大型アプデ(SDKの差し替え時)は、環境をクリーンにしないと障害発生時に問題の切り分けが面倒くさいだろ
不具合を隠すとか何訳の分からんこと言ってんの? SurfaceはPro2,4,2017と使ってるけどWin10の機能更新が原因のトラブルは
Pro4とCU(AUだっけ)の組み合わせでCPUのクロックスケーリングが無効になる症状だけだな
(Pro4固有の不具合でたぶん再現性100%、対処法はあったけど一ヶ月以上放置されてた)
スリープドレインやスリープ死など愉快なSurface固有のトラブルもあるけど
そっちは機能更新とは別のドライバやファームウェアの持病
VSとSurfaceの組み合わせで固有の問題が気付いたことないけどなんか具体的にあったっけ? Window7でだってWindows Updateで問題発生してたことあるだろw
Window10云々関係ねー いつの間にかwindows updateの話になっているが
俺が言ってたのはそれじゃない
RuntimeBroker.exeだとかbackgroundTaskHost.exeだとかいう
マルウエアがまっさらのOSに始めから入っているという話や
ダブルクリックすると関連付けを変更するかと聞いてくることだ それってUWPに必要なシステムファイルだからマルウエアじゃないよ >>944
グループポリシーで自動アップデートオフにしてもそれだけではアップデートのダウンロード
は勝手にするみたいだから注意
旅行先でスマホのテザリングでネットにつなげていてひどい目に合った >>960
それって設定が「自動ダウンロードしインストールを通知」になってるだけだろ 従量課金接続モードもあるしBITの帯域絞る設定もあるしな
ちゅーか窓板でやれよこんな話 >>961
グループポリシーの「自動更新を更新する」で「無効」にしてるが?
「無効」にすると「自動ダウンロードしインストールを通知」なんて選択は出来ないんだが?
とにかくWin10はこの辺の設定のハードル高すぎるね >>962
グループポリシーで自動更新無効にしても従量課金接続モードを設定しなけりゃいけないとか罠すぎる
確かに窓板の話題だろうけど開発用マシンで勝手なことされるのは非常に困るんでね >>963
違う違う違うw
有効にして更新方法を設定するんだよ >>965
知らんがな
2 = 更新プログラムをダウンロードする前、およびインストールする前に通知する
にしろってことか?通知すらされたくないんだが Windows 10 ProでWindows Updateの動作を制御する
http://ascii.jp/elem/000/001/118/1118658/
ちょっと古いが此処に載っている
お役に立てれば
powershellでののやり方もあるみたいね
奥が深いですね勉強になります 古いのはあまりあてにならない
最近のは無効にしたサービスまで勝手に有効にしたり
嫌がらせ満載のMSupdate 突然暴れ出すexeの中にはexplorer.exeまである
どんな悪事も「システムに必須のexe」という聖域でやれば
ほとんどのユーザーは手出しができない
ここまでされちゃおしまいだろ
だからクソOSつってんだよ 俺も聞きたいなぁ。
俺はアップデートしたら通知してほしいのだけどね。
通知がダメなのではなく、作業を分断するのがダメなのだから。 >>972
メインの開発環境なんで一日中使ってますがね https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-features-in-vs-2017-3/
上のサイトを見て、構造化束縛(structured bindings)が
VS2017ですでに使えるようになっていると思ったのですが、
私の環境では使えないです。(VS2017 Version 15.5.5)
使える方いますか?
なにかをincludeすれば使える?
そもそも使えるなんて書いてない?
教えて頂けると幸いです。 コンパイラを最新の状態にすることと
フラグスイッチが/std:c++14になっているか
チェックする事
C++プロジェクトを新規作成した上で
プロジェクトを右クリック→プロパティ→C/C++→言語→C++言語標準の中から
ISO C++標準 C++14h標準(/std:C++14)
ISO C++ Standard C++17(/std:C++17)
ISO C++ 標準の最終草案 (/std:c++latest)
の何れかを選択し新規作成したプロジェクトごとに上記の設定しなおす
自分が使用したい環境で選択してみてください
あとリリース版とプレビュー版ではサポート
されている内容が違うので注意が必要
最新のを使うのであればプレビュ版を使用してみて
https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler/ March 2, 2018 -- Visual Studio version 15.6 Preview 7 March 5, 2018 -- Visual Studio 2017 version 15.6
C++17フルサポート HDD若しくはSSDの容量に余裕があったら
プレビュー版もインストールしとこうね
使い分け重要だからね 録画中のDISKを勝手にupdate作業に使うなや!
腹立つわ VSのちょっと前の狂ったようなアップデート状況を見て
今アップデートするのは得策じゃないと思う 15.6.2が出たら入れるわ。どうせすぐはバグだらけだろ。 フォントサイズ11にしているけどソースコードの印象が以前と変わった このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 128日 7時間 28分 46秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。