草庐IT

CREATE_VC

全部标签

c++ - 如何指示 VC++ 编译器不内联常量?

我的C++程序中有以下全局常量:constintK=123456;当我编译程序时,生成的可执行文件在所有使用该值的地方(数十次)都包含文字值123456。但是,如果我删除const限定符,值123456在整个可执行文件中只出现一次(在.data部分).这是我正在寻找的结果。我希望值123456只出现一次,以便只需使用十六进制编辑器编辑.exe文件即可更改它。但是,我不想删除const限定符,因为我希望编译器防止我不小心修改源代码中的常量。是否可以指示编译器以某种方式不内联所述常量的值?我需要这样做的原因是,可执行文件很容易被负责“破解”示例程序以改变其行为的学生修改。对于没有经验的人来

c++ - 为什么VC++引入非标准关键字: __leave?

根据MSDN:The__leavestatementismoreefficientbecauseitdoesnotcausestackunwinding.以我的理解,就是说:“这样一个普通的代码片段是危险的!”structA{int*p;A():p(newint){}~A(){deletep;}};voidf(){__try{Aa;...//Doingsomthingif(thethinghasgonebad)__leave;...//Continue}__finally{}}在C++项目中完全避免__leave是最佳实践吗? 最佳答案

c++ - VC 2013 与 2015 中的 Lambda 删除器

我正在将一些旧代码从VC2013移至2015。下面的简化代码在VC2013中运行良好,但在2015年失败:errorC2664:'voidmain::::operator()(main::D*&)const':cannotconvertargument1from'main::D*'to'main::D*&'我不是在寻找解决方案,而是在寻找更改内容和更改原因的解释。谢谢。#includeintmain(){classD{};automydel=[](D*&p){deletep;p=0;};std::unique_ptrup(newD);return0;} 最佳

c++ - VC++ 项目 : MSXML vs any other XML libraries

我们知道基于COM技术的MSXML。我们想将它用于即将开始的VC++项目。与MSXML相比,还有其他XML库做得更好吗? 最佳答案 TinyXML-一个C++开源库 关于c++-VC++项目:MSXMLvsanyotherXMLlibraries,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2403567/

c++ - 有没有更好的方法将命令行参数传递给我的 VC++ 程序?

我正在用C++编写一个程序,它需要一些命令行参数。我知道在VSC++中传递命令行参数的唯一方法是打开属性并导航到命令行参数字段并输入它们,然后运行它。如果我想在每次运行时都传递不同的参数,那不是完全精简的。另一种选择是在放置可执行文件的目录中打开一个命令提示符,然后从那里的命令行运行它,但是如果我想使用调试器,我必须附加它,这很痛苦也。有更好的方法吗? 最佳答案 如果只是为了快速测试或其他什么,您可以在main方法中创建局部变量而不是传入参数。这样可以更快/更容易地更改它们。 关于c++

c++ - 没有对 'pthread_create' 的匹配函数调用

我正在使用Xcode和C++制作一个简单的游戏。问题出在以下代码:#includevoid*draw(void*pt){//...}void*input(void*pt){//....}voidGame::create_threads(void){pthread_tdraw_t,input_t;pthread_create(&draw_t,NULL,&Game::draw,NULL);//Errorpthread_create(&input_t,NULL,&Game::draw,NULL);//Error//...}但是Xcode给我错误:“没有匹配的函数调用‘pthread_crea

c++ - 为什么 VC++ 编译代码而 clang 不编译?

我使用VS2015(Update3)编译以下代码:#include#include#includeintmain(){std::functionfn=std::isspace;}如果我用VC++编译就可以了。但是,如果我在VisualStudio中将编译器更改为VisualStudio2015-ClangwithMicrosoftCodeGen(v140_clang_c2),clang会报告错误:main.cpp(7,26):error:noviableconversionfrom''to'std::function'std::functionfn=std::isspace;更奇怪的是

c++ - 为什么我没有 WGL_ARB_create_context 扩展?

我正在执行以下代码来创建核心配置文件OpenGL上下文。具体来说,我是:创建一个虚拟窗口使用这个虚拟窗口请求OpenGL上下文(我假设它会被硬件加速,但我不确定这是否重要)使用这个OpenGL上下文加载OpenGL函数指针使用这些函数指针,然后我尝试使用wglCreateContextAttribsARB在第二个窗口中创建第二个上下文,特别是使用核心配置文件。代码:WNDCLASSWwcDummy={0};wcDummy.lpfnWndProc=+[](HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){returnDefWindowProc

c++ - 如何找到 VC++ v10 中的新增功能?

使用谷歌搜索或搜索“VC++What'snewC++0x”都没有告诉我什么是新的。msdn上是否有官方页面或包含VC++10信息的类似内容?我看过C#的此类内容,一定有一本我喜欢阅读。如果没有,请列出VisualStudio2010forVC++中可用的新功能。 最佳答案 VisualC++TeamBlog经常有关于Studio2010中VC++的新增功能的文章。这不是一个详尽的列表,但确实详细介绍了许多新添加的内容。还有anMSsite其中列出了一些新内容。 关于c++-如何找到VC+

Docker 一小时从入门到实战 —— Docker commands | Create your own image | vs VM ... 基本概念扫盲

Dockercrashcourse文章目录Dockercrashcourse1.WhatandWhyofDocker?2.1What2.2Whatproblemdoesitsolve?2.2.1beforecontainers2.1.2withcontainers2.DockervsVirtualMachines2.1Difference2.2Benefits3.Installdockerlocally4.ImagesvsContainers5.PublicandPrivateRegistries6.MainDockercommands-pull,run,start,stop,logs,bui