草庐IT

gnu-parallel

全部标签

android - gdc 的 gnu 生成文件

有人可以告诉我如何构建Makefile以使用gdc编译*.d源代码吗?具体来说,我已经通过GDC构建了具有D支持的AndroidNDK、gcc、binutils(必须修改一些libphobos以更好地支持Bionic),我想使用ndk-build来编译它,但是我卡在它的Makefile部分。或者特别是Android.mk......无论哪种方式都很好。我试过直接调用编译器,但在NDK的结构中没有一个include/lib文件夹是显而易见的。 最佳答案 我远不是GNUMake的专家,但我看不出它与构建C或C++项目有何不同。如果你想要

c++ - 如何在 Gnu C++ (g++) 中使用十进制 float ?

GCC4.5在运行时库(http://gcc.gnu.org/gcc-4.5/changes.html)中添加了对十进制float的支持。我能够编译代码,包括使用命名空间std::decimal,然后在代码中使用decimal64等等。不幸的是,我缺少一些用于链接代码的库。我一直无法找出应该需要哪些库。在gcc中启用DFP支持(--enable-decimal-float=dpd)此外,是否应该有一些在代码中提供十进制文字的快速方法?快速是指由模板处理并在编译时翻译的用户定义文字。我不想提供在运行时转换的double(尽管性能和我真的无法忍受将评估从编译时移动到运行时的事实仍然存在舍入

c++ - 在编译时使用 gnu++11 过滤值列表,不使用 stdlib(Arduino 环境)

我正在做一个Arduino项目,这意味着C++方言目前是C++11的gnu++11超集,stdlib不可用(没有元组,没有数组,什么都没有;命名空间std只是空的!)。出于优化原因(CPU有16K的FLASH,2K的RAM并且这个特定的低电压版本运行在8MHz)我希望编译器尽可能地预先计算以提供运行时代码,尤其是中断服务例程,具有“友好”的数据。现在我想做的是:给定一个(唯一的)整数列表,我想提取与任意过滤器匹配的值。然后我想建立一个索引表,允许通过它们的初始索引到达过滤后的元素例如2,10,4,7,9,3带过滤器value可以产生过滤列表2,4,7,3和索引表0,-1,1,2,-1,

c++ - 为什么 GNU ld 在链接可执行文件和共享对象时解析符号的方式不同?

我有一段简单的C++代码,看起来像这样:#includeintmain(void){boost::timer::auto_cpu_timert;return0;}我尝试编译和链接它(使用gcc4.8.1和GNUld2.23.52.20130828)如下:$g++-otesttest.cc-lboost_timer/usr/bin/ld:/tmp/cc2jP1jv.o:undefinedreferencetosymbol'_ZN5boost6system15system_categoryEv'/usr/lib/libboost_system.so.1.54.0:erroraddingsy

c++ - pragma omp parallel for 与 pragma omp parallel

在带有openMP的C++中,两者之间有什么区别吗#pragmaompparallelforfor(inti=0;i和#pragmaompparallelfor(inti=0;i?谢谢! 最佳答案 #pragmaompparallelfor(inti=0;i此代码创建一个并行区域,每个单独的线程执行循环中的内容。换句话说,您执行N次完整循环,而不是N个线程拆分循环并仅完成一次所有迭代。你可以这样做:#pragmaompparallel{#pragmaompforfor(inti=0;i这将创建一个并行区域(又名一个fork/join

c++ - Eigen 与 Matlab : parallelized Matrix-Multiplication

我想比较Matlab在矩阵乘法中的速度与Eigen3在Intel(R)Core(TM)i7-4770CPU上的速度@3.40GHz。包含Eigen的代码:#include#include"Eigen/Dense"#include#includeusingnamespacestd;usingnamespaceEigen;constintdim=100;intmain(){std::chrono::time_pointstart,end;intn;n=Eigen::nbThreads();coutm1(dim,dim);Matrixm2(dim,dim);Matrixm_res(dim,d

c++ - typedef 的名称查找在 GNU 编译器中有问题吗?

下面的代码#includetypedefdoubleA;//aglobaltypedeftemplatestructB//atemplateclass...{Ai{22.2};//globaltypedefisinscopetypedefintA;//nowalocaltypedefwiththesamenameisintroducedAb{24};//nowthelocaltypedefisinscopeZc{36};//asimplememberofthetemplatetype};templatestructC:B//atemplatestructinheritingB{Aa;/

c++ - 使用 GNU 链接器包装 C++ 函数

我非常喜欢GNU链接器功能来包装函数。我通常使用它来模拟,例如非确定性函数调用,如rand()。考虑以下示例,我想为giveMeANumber编写单元测试://number.cppintgiveMeANumber(){returnrand()%6+1;}我可以像这样使用GNU链接器功能包装来包装对rand的调用://test.cppextern"C"int__wrap_rand(void){return4;}voidunitTest(){assertgiveMeANumber()==5;}$g++test.cpp-otestnumber.o-Xlinker--wrap=rand有没有办

c++ - 警告 : Cannot parse . gnu_debugdata 部分; LZMA 支持在编译时被禁用

将核心转储文件加载到gdb时,我收到以下警告,看起来加载某些符号也因此失败。warning:Cannotparse.gnu_debugdatasection;LZMAsupportwasdisabledatcompiletime知道如何解决这个问题吗? 最佳答案 warning:Cannotparse.gnu_debugdatasection;LZMAsupportwasdisabledatcompiletimeGDB支持一个名为"minidebuginfo"的特性.此功能允许将完整调试信息的子集添加到结果文件的特殊部分。一些Lin

c++ - Ubuntu桌面开发环境(GNU工具)

我正在设置Linux开发机器(Ubuntu9.0.x)。我想知道Ubuntu上C++开发人员的最佳开发环境-提供我的背景(见下文)。5年以上C++5年VisualStudio没有太多使用GNU工具的经验(GCC、GDB、make等)使用Emacs6个月左右在大学(大约8年前!)-我什么都不记得了;)我来自Windows背景,所以使用GUI比CLI更自在,尽管我希望随着时间的推移学习CLI命令。就在Linux上进行开发而言,我想变得高效并“一马当先”。我对能让我的生活更轻松的工具特别感兴趣:1).项目管理2).通过GUI构建配置(而不是makefile编辑——至少现在是这样)。3).调试