草庐IT

make_new_type

全部标签

c++ - MS 链接从 gnu make 失败,但从 cmd 行工作

最近我的gnumakefile停止链接我的C++项目。我做了一些改变。我已经复制了链接行并从批处理文件中运行它。它构建良好。但是当我运行make时,同一行奇怪地失败了。它给出的错误是:LINK:fatalerrorLNK1181:cannotopeninputfile'user32.lib'这一定是个误会,因为在同一个命令行提示符下,运行链接命令会成功。我开始怀疑GNUmake。这曾经在make中工作,但我对makefile进行了一些添加和更改以使其在Linux上构建,这似乎引入了问题。我正在使用:GNUMake3.80MSVisualC++Linker10.00.40219.01在W

c++ - 在 Windows 中,如何将 `GlobalAlloc` 替换为 `new` ?

在Windows中,如何将GlobalAlloc替换为new?您好,我有这段代码(来自这里:"ReadingfromaMailslot")使用GlobalAlloc分配内存。DWORDcbRead=0;LPTSTRlpszBuffer=(LPTSTR)::GlobalAlloc(GPTR,cbMessage);//cbMessageisfromacalltoGetMailslotInfoif(NULL==lpszBuffer)returnFALSE;lpszBuffer[0]='\0';BOOLfResult=::ReadFile(hSlot,lpszBuffer,cbMessage,

windows - 在 Make 和 windows 中使用环境变量形成路径

我有一个make文件,我正试图用它来将文件复制到目录中。目录的路径存储在环境变量中。问题是当我运行时,环境变量中的C:\Data被解释为C:Data。如何阻止将其解释为转义字符?copyData:buildDatacpRelease/*.tbl$(DATA)/indexresultsin:cpRelease/*.tblC:\Data/indexcp:`C:Data/index':specifieddestinationdirectorydoesnotexistTry`cp--help'formoreinformation. 最佳答案

C++: "error C4430: missing type specifier - int assumed"对于构造函数和析构函数的无效声明

我有这个CResources类声明,我得到这个错误"errorC4430:missingtypespecifier-intassumed"#include#includeconstintR_NUMBER=5;typedefenum{M,}OBJECT_ENUM;typedefenum{FILE_O,}RESOURCE_ENUM;typedefstruct_resourcesMapping{CBufferapiBuffer;intObjectIndex;};classCResources{intrCount;int*resources;public:CResources(int);~CR

c++ - c++ new 运算符可以在 Windows 上自动使用大页面吗?

假设我使用VisualStudio编写了一个C++程序,它使用new运算符分配内存。我想知道是否有一种方法可以让new自动使用大页面而不是标准的4KB页面(即,我的程序无需显式调用VirtualAlloc)。感谢您的宝贵时间。 最佳答案 您可以覆盖所有new和delete运算符。例如void*operatornew(size_tsize){returnmalloc(size);}voidoperatordelete(void*pointer){free(pointer);}此外,您应该覆盖此运算符的所有变体:http://www.c

工具技能学习(一):前置技能-makfile、make、.mk

工具技能学习(一):前置技能-makfile、make、.mk在构建镜像的时候你肯定看到了很多的makefile文件,昨天我们也解读一些一些构建编译的makefile文件,但是有些兄弟没有这方面的经验,对于makefile文件的格式还是不是很熟悉。其次make是我们编译时的关键命令,这也顺便来讲讲它和makefile的渊源。最后如果你的内核是构建去做安卓方面的事情,这里面会有很多.mk文件,那么这个文件又是什么,下面一起来看看吧。1、makfile、make、.mk是什么makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,并且按类型、功能、模块分别放在若干个目录中,**ma

windows - 谷歌云控制台 : cannot login to new WIndows VM instance

我正在使用GoogleCloudConsole创建一个新的Windows虚拟机。我已经尝试过Server2008和2012。无论哪种情况,我都无法在虚拟机启动后登录,因为它说我的凭据不正确。我读过这篇文章:https://cloud.google.com/compute/docs/operating-systems/windows#understand_auth但是,我似乎不太清楚这是如何工作的。之前我只是在创建新实例过程中简单复制了密码,用户名与GC项目ID名称相同。这次我尝试使用RDP的名称方法(projectID名称+密码),但无法登录。然后我尝试了我自己的用户名+复制的密码,但

Windows 命令行 : automatically type in a command from . cmd 文件

好的,我有这样一个批处理文件:@titleRUBY;)@setPATH=D:\Programming\Ruby22-x64\bin;%PATH%@callcmd/Kcd/DE:\RubyProgramming我用它来促进运行脚本,而无需每次都导航到文件夹。问题是,我通常会在任何给定时间为我正在处理的给定程序运行同一个命令数百次。例如:rubyrubyprogram.rbinputfile.txtoutputfile.xmlmiscargument有没有办法制作这样的批处理文件,在运行时输入命令?不是执行,只是输入,这样我就可以按回车键执行它,然后使用↑向上箭头在cmd中再次使用它?我一

c# - 无法使用 `new` 关键字从函数修改对象

这个问题在这里已经有了答案:C#stringreferencetype?(11个答案)关闭5年前。我正在尝试执行以下代码,但不明白为什么行person.Name="anton";不起作用?该程序的输出是“colin”。classPerson{publicstringName;}classMainClass{publicstaticvoidMyMethod(Personperson){person.Name="colin";person=newPerson();person.Name="anton";}publicstaticvoidMain(){Personperson=newPers

c++ - 在Windows中初始化静态全局变量时new返回NULL?

我正在努力将rLog与我们的代码库集成,我注意到Windows上存在一个在Linux上没有的问题。在头文件中,我有一个静态变量,它给了我一个“详细”的日志记录channel(基本上是从调试开始的),定义如下:staticRLogChannel*rlog_verbose=DEF_CHANNEL("verbose",Log_Debug);这在Linux上没有问题,但在Windows上,应用程序一启动我就会收到错误消息。我已经在rLog库中追踪到这一行:RLogChannel*rlog::GetComponentChannel(constchar*component,constchar*pa