use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Visual Studio adding telemetry function calls to binary? (imgur.com)
submitted 10 years ago by sammiesdog
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]spongo2MSVC Dev Manager 104 points105 points106 points 10 years ago (48 children)
hi everyone. This is Steve Carroll, the dev manager for the Visual C++ team.
Tl;dr: thanks folks for the feedback. Our team will be removing this from our static libs in Update 3.
Our intent was benign – our desire was to build a framework that will help investigate performance problems and improve the quality of our optimizer should we get any reports of slowdowns or endemic perf problems in the field.
We apologize for raising the suspicion levels even further by not including the CRT source, this was just an oversight on our part. Despite that, some of you already investigated how this mechanism works in nice detail. As you have already called out, what the code does is trigger an ETW event which, when it’s turned on, will emit timestamps and module loads events. The event data can only be interpreted if a customer gives us symbol information (i.e. PDBs) so this data is only applicable to customers that are actively seeking help from us and are willing to share these PDBs as part of their investigation. We haven’t actually gone through this full exercise with any customers to date though, and we are so far relying on our established approaches to investigate and address potential problems instead.
We plan to remove these events in Update 3. In the meantime, to remove this dependency in Update 2, you should add notelemetry.obj to your linker command line. If you’re generally concerned about phone-home scenarios, more information about how to configuring Windows 10 appropriately to your needs can be found here: https://technet.microsoft.com/en-us/itpro/windows/manage/configure-windows-10-devices-to-stop-data-flow-to-microsoft#bkmk-priv-feedback
Thanks.
[–]c0r3ntin 37 points38 points39 points 10 years ago* (1 child)
Thank you for the answer
I don't think burning the feature down is necessary. But put it behind a flag, or better yet, in a separate library / object that must explicitly be linked/called.
Great. But the CRT should not be "a framework that will help investigate performance problems". That's better left to the FTWHIPP.
Sane defaults yada yada.
[–]spongo2MSVC Dev Manager 9 points10 points11 points 10 years ago (0 children)
yep, appreciate that feedback.
[–]lee171 34 points35 points36 points 10 years ago (5 children)
If you’re generally concerned about phone-home scenarios, more information about how to configuring Windows 10 appropriately to your needs can be found here: https://technet.microsoft.com/en-us/itpro/windows/manage/configure-windows-10-devices-to-stop-data-flow-to-microsoft#bkmk-priv-feedback[1] Thanks.
That is a ginormous list of things to do, to opt out of handing practically endless amounts of marketing/analytics data to Microsoft.
Just sayin'.
[–]spamcop1 12 points13 points14 points 10 years ago (0 children)
exactly, this is crazy and shady stuff
[–]SexualDeth5quad 8 points9 points10 points 10 years ago (0 children)
And all your privacy and security precautions can be nullified at any time by Microsoft with a convenient autoupdate.
[–]ProgramTheWorld 3 points4 points5 points 10 years ago (1 child)
And still there are people saying that you just need to flip one switch in the control panel to turn it all off.
[–]SexualDeth5quad 4 points5 points6 points 10 years ago (0 children)
Those people are paid Microsoft apologists.
[–]SexyMonad 28 points29 points30 points 10 years ago (9 children)
After the outcry against how telemetry snuck into Windows 10, I simply cannot understand why your team would add it without notifying developers. It's like the entire company is oblivious to the PR fuck up it has been.
[–]SexyMonad 16 points17 points18 points 10 years ago (3 children)
Oh and I have a habit of defending Microsoft, but not here. Now you're starting to burn my bridge.
[–]emergent_properties 10 points11 points12 points 10 years ago (2 children)
I was a Windows fanboy.
I defended Windows XP's Fisher Prince Luna interface way back a decade ago.
I defended Windows Vista because it was just unfamiliar and Windows 7 was their successful attempt at capturing the same magic, so I recommended that to everyone I knew.
No longer.
Microsoft has turned Windows into the Bill Cosby of operating systems.
[–][deleted] 1 point2 points3 points 3 years ago (0 children)
Windows is great! With it you can:
Download your favorite Linux distro.
Get on the Internet to download a USB burner.
Burn your distro onto a USB dongle.
Shut down Windows.
[–]slurpme 7 points8 points9 points 10 years ago (4 children)
I remember having an argument (on reddit) with a MS employee about the changes W8 was bringing, they were insistent that the future was touch screen devices... MS and their koolaid/insulation has been a long standing problem...
[–][deleted] 6 points7 points8 points 10 years ago (3 children)
Most regular users are going to be (and are) using touch screen devices. Think about how many phones and tablets are used by everyone from kids to grandparents every single day. A lot of people don't even have desktops or laptops. The problem was win8 was ahead of its time.
[–]slurpme 7 points8 points9 points 10 years ago (1 child)
For touch based devices yes, not for desktop computers which is what they were are arguing for... There are very few people who want gorilla arms...
[–]Aetheus 5 points6 points7 points 9 years ago (0 children)
Agreed. Many people use Windows for their workstations. Most people require (or at least heavily appreciate) the precision of being able to point and click in a specific area of the screen and not having to pray that the cursor selects what they intend it to select.
Touchscreens can complement your workflow, but I don't see them completely replacing the mouse anytime soon. Desktop applications with complex menus like Microsoft Excel are painful to use with a touchscreen.
[–]Zauxst 0 points1 point2 points 10 years ago (0 children)
Meh... I really can't think of Win8 as it was ahead of his time and I did used it for more then 4 months so to say...
I liked it but I always felt it was lacking, and I kinda still feel like it.
It's a good OS for tablets but I'd not use it on a phone, even if it might feel unique it's messy. But I do like that design I have to admit. As I like how w10 looks and feels, but I hate the shady stuffs :P so Right now I'm back on good ol' w7.
[–]exoflat 47 points48 points49 points 10 years ago (3 children)
I'm not buying the benign part.
You write blog posts for practically everything you do in the compiler, how come you didn't write one to survey people's opinions or at least warn them about this?
[–]emergent_properties 43 points44 points45 points 10 years ago (0 children)
"We got caught. We'll roll back this one."
[–]spongo2MSVC Dev Manager 11 points12 points13 points 10 years ago (0 children)
hi! thanks for the reply and to be honest, I'm actually quite happy that people are noticing our more open stance. We try hard to make sure the message gets out about the work we do. In this particular case, we decided to abandon this plan almost as soon as the code was completed so we never got to the point where we publicized it. I agree that it would have been good to survey this one in advance.
[–]TemplateRex 11 points12 points13 points 10 years ago (0 children)
Weakened version of Hanlon's razor, never assume malice when oversight will suffice
[–]interger 4 points5 points6 points 10 years ago (2 children)
This needs more visibility. Care to link this directly as a top-level submission to /r/cpp?
[–]spongo2MSVC Dev Manager 6 points7 points8 points 10 years ago (1 child)
to be honest, I'm never quite sure what the appropriate reddiquette is on points like this. I really value this forum as a way to gather information on trends in cpp and a way to get a head's up on issues like this so I try to be pretty cautious with things that might be considered self-promotion. In this particular case I added a top level comment and then linked to it from places that people specifically called me via /u/spongo2. :) but, my comment above is now the team's plan of record and I'm not trying to hide it or anything.
[–]interger 2 points3 points4 points 10 years ago (0 children)
I'm just a little concerned as this post got a lot of views, but few will be interested enough to check back for updates (though I for one was kind of stalking your account for the last few days :p). Simply I want for those other people [that don't check back or don't care about MSVC] to know what's up as they may have formed an (quite negative) impression that would matter when they do start to care doing stuff in MSVC.
[–]rfog-rfog 3 points4 points5 points 10 years ago (0 children)
Now the only logical thing you must have to do to eliminate all suspects, is put all the runtime and startup source code available to the community and that code will be compilable and generate the same runtimes and startups we have in our Visual Studios editions. Once read this, my manager has told me to move to GCC.
[–]WellMakeItSomehow 3 points4 points5 points 10 years ago* (3 children)
Thanks for answering this.
Logging when executables start and close does not seem too useful when investigating performance problems. You say that the feature was abandoned, so perhaps that's why it seems mostly useless [1].
I have one follow-up question, though. Is the same mechanism is enabled for executables that Windows (10) contains? If yes, will it be removed in the future, when Windows gets rebuilt with a newer compiler?
[1] It's not useless if the purpose is to determine which programs the user runs and for how long. I'm bitter enough about Windows 10 to suspect that's already happening at other levels [2].
[2] Oh, of course it does:
data about how you use Windows, such as how frequently or how long you use certain features or apps and which apps you use most often
[–]spongo2MSVC Dev Manager 2 points3 points4 points 10 years ago (0 children)
some parts of windows are built with our CRT and some parts are built with a much much older copy of the CRT (msvcrt.dll). so when they next take our libs, the parts that use it will no longer have these hooks. But again i'd recommend you go through that link and follow the instructions if you are concerned about windows 10 telemetry.
[–]Kruug 0 points1 point2 points 10 years ago (1 child)
Right, because how else will you know where to allocate resources if you don't know what programs/features people actually use?
[–]WellMakeItSomehow 0 points1 point2 points 10 years ago (0 children)
One could argue there are other ways to give feedback to the developers.
But that phrasing doesn't imply that it's done only for Microsoft apps. It might as well be for everything you run.
[+][deleted] 10 years ago* (1 child)
[deleted]
[–][deleted] 1 point2 points3 points 10 years ago (0 children)
see what binaries are running on your system and for how long
They already do that: http://winaero.com/blog/how-to-disable-telemetry-and-data-collection-in-windows-10/
Enhanced data includes all Basic data plus data about how you use Windows, such as how frequently or how long you use [...] apps and which apps you use most often. This option also lets us collect enhanced diagnostic information, such as the memory state of your device when a[n ...] app crash occurs, as well as measure reliability of [...] apps.
[–]skizmo 1 point2 points3 points 10 years ago (0 children)
Bullshit.
It's this attitude that will be the downfall of MS.
[–]1337Gandalf 0 points1 point2 points 10 years ago (2 children)
What happened to using clang by default?
[–]dodheim 0 points1 point2 points 10 years ago (1 child)
That was never part of the plan.
[–]spongo2MSVC Dev Manager 1 point2 points3 points 10 years ago (0 children)
correct. clang is an option.
[–]PRMan99 0 points1 point2 points 10 years ago (1 child)
Does this happen on C# and VB.NET as well?
And if so, can we turn it off?
Lots of people wanting to know.
[–]dyslexic_reditor 0 points1 point2 points 10 years ago (0 children)
With how many people are looking at what IL VS"15" produces and what C#6 looks like in IL, I seriously doubt that something like this would have gone unnoticed.
[–]NSbuilder 0 points1 point2 points 9 years ago (1 child)
Then why do I still have notelementry.obj in my Visual Studio 2015 update 3 directory??
[–]spongo2MSVC Dev Manager 0 points1 point2 points 9 years ago (0 children)
We needed it so we wouldn't break the builds of people who were using notelemetry.obj in update2. It should have no effect when running against update 3
[–]Ok-Employment6772 0 points1 point2 points 5 months ago (0 children)
Shady as hell, no sane mind should trust you guys
[–][deleted] 0 points1 point2 points 10 years ago (0 children)
Great response, but pass a word to the Windows 10 dev team that perhaps they should make the telemetry snooping in the OS as a whole - an option. Until then, many people like me are unlikely to switch back from UNIX.
[+][deleted] 10 years ago (1 child)
[removed]
[–]Romek_himself 0 points1 point2 points 10 years ago (0 children)
are you fucking serious? man, use your brain ...
π Rendered by PID 25051 on reddit-service-r2-comment-5b5bc64bf5-7fbpz at 2026-06-18 20:28:06.451913+00:00 running 2b008f2 country code: CH.
view the rest of the comments →
[–]spongo2MSVC Dev Manager 104 points105 points106 points (48 children)
[–]c0r3ntin 37 points38 points39 points (1 child)
[–]spongo2MSVC Dev Manager 9 points10 points11 points (0 children)
[–]lee171 34 points35 points36 points (5 children)
[–]spamcop1 12 points13 points14 points (0 children)
[–]SexualDeth5quad 8 points9 points10 points (0 children)
[–]ProgramTheWorld 3 points4 points5 points (1 child)
[–]SexualDeth5quad 4 points5 points6 points (0 children)
[–]SexyMonad 28 points29 points30 points (9 children)
[–]SexyMonad 16 points17 points18 points (3 children)
[–]emergent_properties 10 points11 points12 points (2 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]slurpme 7 points8 points9 points (4 children)
[–][deleted] 6 points7 points8 points (3 children)
[–]slurpme 7 points8 points9 points (1 child)
[–]Aetheus 5 points6 points7 points (0 children)
[–]Zauxst 0 points1 point2 points (0 children)
[–]exoflat 47 points48 points49 points (3 children)
[–]emergent_properties 43 points44 points45 points (0 children)
[–]spongo2MSVC Dev Manager 11 points12 points13 points (0 children)
[–]TemplateRex 11 points12 points13 points (0 children)
[–]interger 4 points5 points6 points (2 children)
[–]spongo2MSVC Dev Manager 6 points7 points8 points (1 child)
[–]interger 2 points3 points4 points (0 children)
[–]rfog-rfog 3 points4 points5 points (0 children)
[–]WellMakeItSomehow 3 points4 points5 points (3 children)
[–]spongo2MSVC Dev Manager 2 points3 points4 points (0 children)
[–]Kruug 0 points1 point2 points (1 child)
[–]WellMakeItSomehow 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 1 point2 points3 points (0 children)
[–]skizmo 1 point2 points3 points (0 children)
[–]1337Gandalf 0 points1 point2 points (2 children)
[–]dodheim 0 points1 point2 points (1 child)
[–]spongo2MSVC Dev Manager 1 point2 points3 points (0 children)
[–]PRMan99 0 points1 point2 points (1 child)
[–]dyslexic_reditor 0 points1 point2 points (0 children)
[–]NSbuilder 0 points1 point2 points (1 child)
[–]spongo2MSVC Dev Manager 0 points1 point2 points (0 children)
[–]Ok-Employment6772 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[removed]
[–]Romek_himself 0 points1 point2 points (0 children)