草庐IT

make-vista-launch-uac-restricted-

全部标签

c++ - 使用 GCC 4.6.2 C++ Qt、MinGW、Vista 设置堆栈大小

我想增加我的程序的堆栈大小,因为我有一个复杂的递归算法,迭代重写将是一个真正的痛苦。我正在使用GCCC++4.6.2。MinGw,在Vista上使用Qt.pro文件构建(我使用Qt作为GUI前端)。本网站的建议是使用:-gcc-Wl,--stack,4194304并将其发送到g++链接阶段:-LIB+=-Wl,--stack,4194304但是链接器错误:-g++:error:unrecognizedoption'--stack,4194304'我尝试使用QMAKE_CXXFLAGS+=将选项发送到编译阶段,但g++仍然barfs。唯一不会barf的选项是GCC文档(.pdf4.5.0

c++ - 毫秒 mpi 错误 : unable to allocate launching block

我使用msmpi在VS2015中创建了简单的控制台程序。#include#include#includeintmain(intargc,char**argv){intrank=0,size=0;MPI_Init(&argc,&argv);/*startsMPI*/MPI_Comm_rank(MPI_COMM_WORLD,&rank);/*getcurrentprocessid*/MPI_Comm_size(MPI_COMM_WORLD,&size);if(rank==0){charhelloStr[]="HelloWorld";//MPI_Send(helloStr,_countof(

c++ - new T(...) 与 std::make_unique<T>(...).release()

我正在查看companioncode的"HourglassAPI"talkCppCon2014的主要内容是通过使用具有C签名的函数包装类的成员函数来为C++库提供CAPI。除其他外,我对对象的构造方式很感兴趣。在构造新的hairpoll对象的函数hairpoll_construct中,通过获取指针std::make_unique(person).release()实际上是在处理异常的函数中调用的。一个更简单的方法是求助于一个普通的newhairpoll(person)哪些场景更适合前者?这是否与这个特殊API的工作方式有关,还是比这更通用? 最佳答案

c++ - 处理数组时 make_unique 和 make_shared 之间的区别

从C++17开始,您可以使用make_unique为了创建指向数组的智能指针,例如:unique_ptrptr=make_unique(10);这将创建一个指向10个元素数组的智能指针(将调用适当的deleter[]的事实也很棒)。但是根据thismake_shared不支持此类功能(至少在C++17中不支持,据我所知):shared_ptrptr=make_shared(10);上面的代码显然是非法的。事实上,我的VisualStudio2017(v141)吐出以下错误:C2070:'int[]':illegalsizeofoperand'有趣的是shared_ptr本身确实支持数组

c++ - 收集 2 : Ld returned 1 exit status build make error

编译器:Qt语言:C++这个程序不适合我哈哈,这已经是我第三次求助了,快把我逼疯了(谢谢大家对我的耐心和帮助)我尝试运行我的程序(又是第一百万次)因为我无法整理出ostream,所以我注释掉了main中的所有cout函数,这样我就可以处理我的其余代码了。但是当我尝试运行它时,我得到了collect2:ldreturned1exitstatusinmybuildissues。我切换到编译输出...天哪..RunningbuildstepsforprojectList...Configurationunchanged,skippingqmakestep.Starting:"C:/Qt/20

c++ - 为什么 sizeof...(T) 这么慢?在没有 sizeof...(T) 的情况下实现 C++14 make_index_sequence

我找到了C++14make_index_sequence“算法”的实现:templatestructindex_sequence{usingtype=index_sequence;};templateusinginvoke=typenameT::type;templatestructconcate;templatestructconcate,index_sequence>:index_sequence{};//\///----------//Ithinkhereisslowly.templatestructmake_index_sequence_help:concate>,invoke

c++ - 什么是未知大小的 make_shared?

在this回答T.C.州boost::make_sharedetc.supportarraytypes-eitheroneofunknownsize,oroneoffixedsizeboost::shared_ptrsh_arr2=boost::make_shared(30);boost::shared_ptrsh_arr3=boost::make_shared();首先,make_shared如何支持未知大小的数组类型?我认为数组大小是必需的。其次,sh_arr2和sh_arr3有什么区别?两者似乎都在创建一个int大小为30的数组。 最佳答案

c++ - 如何强制 32 位版本的远程桌面客户端在 64 位 Vista 上运行?

我们需要在64位Vista上运行32位版本的远程桌面客户端,因为我们的部分产品与其集成,并通过虚拟channel与终端服务器端应用程序通信。集成加载了一些第三方32位驱动程序,并且无法在64位进程中加载​​32位dll。通常很容易从命令行运行32位版本的Windows应用程序,例如运行窗口:C:\Windows\SysWOW64\Notepad.exe您可以通过检查任务监视器\进程来判断该进程是32位的,因为它的文件名旁边会有一个*32。然而,远程桌面客户端(mstsc.exe)并不想玩球。它始终从C:\Windows\System32\mstsc.exe运行64位版本,无论我如何启动

C++11 原子 : does it make sense, 或者甚至可以将它们与内存映射 I/O 一起使用?

据我了解,Cvolatile和用于内存栅栏的可选内联asm已用于在内存映射I/O之上实现设备驱动程序。在Linux内核中可以找到几个示例。如果我们忘记了未捕获异常的风险(如果有的话),用C++11原子替换它们是否有意义?或者,这有可能吗? 最佳答案 通常,您可以用原子替换内存栅栏,但不能用volatile替换内存栅栏,除非它与专门用于线程间通信的栅栏一起使用。关于内存映射I/O,原子性不够的原因是:volatile向您保证程序中对该变量的所有内存访问确实发生并且它们发生(在单个线程中)完全按照您指定的顺序进行。std::atomic

c++ - 防止编译在 OS X 上生成 dSYM(使用 make)

我有一个c++项目(开源),默认情况下不需要去除调试符号。有很多测试可执行文件,在OSX上生成了很多dSYM文件。我试过-g3作为g++标志但无济于事。想法?谢谢!胡安 最佳答案 如果您使用“-g”标志进行编译,请将其移除。 关于c++-防止编译在OSX上生成dSYM(使用make),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4850788/