草庐IT

C 风格数组的 C++ 等价物

我在这里听到很多人说C++在所有方面都比C快或更快,但更干净、更好。虽然我并不反驳C++非常优雅且非常快的事实,但我没有找到关键内存访问或处理器绑定(bind)应用程序的任何替代品。问题:在性能方面,C风格的数组在C++中是否有等效项?下面的例子是人为设计的,但我对现实生活中问题的解决方案很感兴趣:我开发图像处理应用程序,那里的像素处理量很大。doublet;//C++std::vectorv;v.resize(1000000,1);inti,j,count=0,size=v.size();t=(double)getTickCount();for(j=0;j结果如下:(C++)Forl

c++ - 标准库中 boost::make_transform_iterator 的等价物是什么?

处理constvector时,以下内容不起作用:conststd::vectorv;v.push_back("test");//error:vcannotbemodified相反,您必须在构造它的同一行上初始化vector。然而,即使有这个限制,boost::make_transform_iterator使得在将它们插入v之前对另一个vector的元素做一些事情变得容易。在这个例子中,convert是一个一元函数,返回输入元素的转换版本:autobeg=boost::make_transform_iterator(args.begin(),convert);autoend=boost:

c++ - 类模板偏特化等价

什么时候两个不同的类模板偏特化声明匹配?在下面的代码中有两个偏特化声明:S,void>S,void>constrain是一个别名模板,等于T但使用enable_if进行限制把第二个参数作为一个概念。GCC认为这两个部分特化不同,但Clang和MSVC认为它们等价,因此拒绝代码:#include#includeusingnamespacestd;templatestructhas_accept:false_type{};templatestructhas_accept().accept())>>:true_type{};templatestructhas_visit:false_type

windows - Ollydbg(或其他 Windows 调试器)中 GDB 的 "call"的等价物

在GDB中,我可以通过发出类似callfoo("123")的命令来调用属于我正在调试的可执行文件的一部分的函数。我如何在OllyDbg(或其他一些主要是Windows的调试器)中做同样的事情? 最佳答案 我不知道如何使用OllyDbg做到这一点,但由于您提到了其他Windows调试器,您可以在WinDbg中使用.call命令。0:001>.callABC!DoSomething(1,2)Threadissetupforcall,'g'willexecute.WARNING:Thiscanhaveseriousside-effects

c - Linux 中 "pidof"的 Windows 等价物是什么?

在批处理脚本中,我需要获取具有给定二进制路径C:\path\to\binary.exe的进程ID列表。在Linux中,我可以只执行pidof/path/to/binary。是否有从WinXPHome到Win7都支持的Win32可执行文件(任务列表不起作用)?包含这个的包必须是可移植的,所以10MB的下载不是我想要的。从WinXP到Win7是否有支持此和的C函数?注意:我想匹配进程路径,而不是其他应用程序也可以使用的文件名。 最佳答案 wmic.exe在XP、Vista和7上可用,可以执行此操作。但是,它不随WindowsXP家庭版一

c++ - CRT 的 C++ 等价物是什么?

我是C++的新手,但我以前使用过C。用C编写的程序必须与CRT链接(在Windows中,它是文件libcmt.lib),其中包含C函数(例如:printf()).但我想知道,是否存在“C++RT”(与CRT相反)这样的东西,我的意思是C++函数和类在哪里(例如:std::ofstream)存储。我还有一个问题,如果我使用一些C函数(例如:printf()),我的C++程序是否会同时与CRT和“C++RT”链接,还是“C++RT”包含CRT? 最佳答案 这取决于C++standardlibrary的具体实现你正在使用。GCC附带lib

c++ - 将 32 位路径转换为其 WOW64 等价物

我可以在32位应用程序中调用任何函数来将它认为正在使用的路径与它实际使用的路径进行转换吗?(例如,在64位系统上运行时调用它以将ProgramFiles中的文件夹路径转换为​​ProgramFiles(x86)中的路径,反之亦然。)我需要这样做,以便当用户在GUI中呈现目录(如浏览文件或目录时),他看到的是真实目录,而不是应用程序本身认为它看到的内容。我们需要同时支持32位和64位Windows,因此这应该适用于两种环境。编辑处理WOW64的需要在于我的应用程序是安装程序的引导应用程序。默认情况下,该产品安装在32位系统的ProgramFiles下,而在64位系统上,它安装在Progr

windows - Windows 中的 lshw 等价物是什么,它可以像 lshw 在 Linux 上那样给我一个硬件树结构?

我需要如下所列的硬件信息,这些信息是在linux中使用lshw生成的。我需要一个没有GUI的Windows等价物,更像是一个代码或dll,它可以用来在同一个树状结构中提取信息。请注意Wmi不是合适的选项,因为它不会给我空插槽,而lshw会。test-pc3description:DesktopComputerversion:SystemVersionwidth:32bitscapabilities:smbios-2.5dmi-2.5smp-1.4smpconfiguration:boot=normalchassis=desktopcpus=2family=ToBeFilledByO.E

c# - Windows服务中Application.ExecutablePath的等价物是什么

在Windows窗体应用程序中,我使用Application.Executable路径获取App.config。我需要进入Windows服务中的app.config。那会是什么? 最佳答案 几个选项:System.Reflection.Assembly.GetExecutingAssembly().Location对于当前程序集。或者,您可以从类型派生它:System.Reflection.Assembly.GetAssembly(typeof(MyAssemblyType)).Location然后(在任何一个上)您可以使用Path

c++ - C++ 中 Thread.SetApartmentState 的等价物是什么?

在C#中,Thread类中有一个方法SetApartmentState。我如何在C++中做同样的事情? 最佳答案 对于非托管进程,您可以通过将适当的参数传递给CoInitializeEx()来控制用于线程的单元模型。.拉里·奥斯特曼(LarryOsterman)为这些写了很棒的小指南:...WhenathreadcallsCoInitializeEx(orCoInitialize),thethreadtellsCOMwhichofthetwoapartmenttypesit’spreparedtohost.Toindicatetha