草庐IT

simd-library

全部标签

c++ - CMake add_library(<lib> OBJECT <src>) 有环境变量吗?

CMake是2.8.8在编译时引入了OBJECT库类型:add_library(OBJECT)。这是一个有用的构造,能够将所有类编译为.o文件,但还没有将它们添加到库中。但是,我不确定它最终附加到生成的make文件中的命令的标志是什么。基本上,在执行add_library(SHARED)命令时,它会添加CMAKE_SHARED_LIBRARY_CXX_FLAGS指定的任何标志。我希望能够只为OBJECT库指定构建标志,而不必求助于更全局的标志,例如CMAKE_CXX_FLAGS_DEBUG和CMAKE_CXX_FLAGS_RELEASE。如果存在或计划这样的标志,有人知道吗?回顾:#h

c++ - 如何使用 gcc 编译 SIMD 代码

我在SIMD中编写了这段矩阵乘法代码,我可以在VisualStudio中编译它,但现在我需要在Ubuntu中使用gcc/g++编译它。我应该使用哪些命令来编译它?我是否需要对代码本身进行任何更改?#include#include#include#include#include#include#includeusingnamespacestd;#defineMAX_NUM1000#defineMAX_DIM252intmain(){intl=MAX_DIM,m=MAX_DIM,n=MAX_DIM;__declspec(align(16))floata[MAX_DIM][MAX_DIM],

c++ - 错误 : The following Boost libraries could not be found

我正在使用cmake和boost制作visualstudio解决方案。我的命令是:F:\C++\yapimpl\build>cmake..-G"VisualStudio11"-DBOOST_ROOT=E:\lib\lib\boost_1_54_0-DBOOST_LIBRARYDIR=E:\lib\lib\boost_1_54_0\bin\vc11\lib尽管我设置了BOOST_LIBRARYDIR和BOOST_ROOT,它仍然显示boost_unit_test_framework找不到。目录E:\lib\lib\boost_1_54_0\bin\vc11\lib确实包含这些文件:08/

python - OS X : ld: library not found for -lstdc++

我正在尝试将Python库包装在C++库周围,而distutils在OSX上对我来说失败了。以下是我的setup.py中的相关行:ifsys.platform.startswith("darwin"):extra_compile_args_setting=["-std=c++1z","-stdlib=libc++","-O3"]这是相关的输出:clang-Wno-unused-result-Wsign-compare-Wunreachable-code-DNDEBUG-g-fwrapv-O3-Wall-Wstrict-prototypes-I/Users/x/anaconda/incl

c++ - MAC 操作系统 : dynamically linked library not found despite correct rpath

我有一个(相对)大的C++项目,它在ubuntu上编译和运行良好(使用cmake/catkin)。它在macos上编译得很好,但是当尝试启动可执行文件时,我收到错误消息:dyld:Librarynotloaded:.dylibReferencedfrom:/Reason:imagenotfound运行命令时:otool-l|grepLC_RPATH-A2我得到输出:cmdLC_RPATHcmdsize64path(offset12)cmdLC_RPATHcmdsize24path/sw/lib(offset12)cmdLC_RPATHcmdsize32path/usr/X11/lib(

c++ - 如何使用(Boost Multidimensional Array Library)构造动态二维数组?

我在使用boost多维数组方面需要帮助。我必须构建一个二维数组,其中:(0longboostArray[i][j];因此,这就像构建一个包含(未知)列和两行的表格。我已经开始使用Boost库网站上提供的示例:#include"boost/multi_array.hpp"#includeintmain(){//3x4x2typedefboost::multi_arrayarray_type;typedefarray_type::indexindex;array_typeA(boost::extents[3][4][2]);intvalues=0;for(indexi=0;i!=3;++i

c++ - boost 正则表达式链接 : Can't find library

我在链接BoostRegex时遇到问题,尽管我可以运行(编译/链接)其他Boost程序。我意识到这是“有据可查的”,但我找不到答案,因为各种帖子使用不同版本的Boost、不同的编译器、使用bjam(我使用b2),似乎暗示了我已经尝试过的东西等。设置VisualStudio10(我使用的是C++)boost版本:1.53.0初始安装:我关注了HowtouseBoostinVisualStudio2010(我走到了第二点4)。我没有下载正则表达式的ICU支持,因为我认为只有在需要Unicode支持时才需要它?我已通过更新“包含目录”并添加C:......\Boost\boost_1_53_

c++ - 重载数组访问运算符时如何访问 SIMD vector 元素?

我正在尝试使用Xcode6上的Clang编译一些适用于MSVC的SIMD代码。不幸的是,我收到一个错误,其中数组访问运算符已在我无法修复的自定义vector类中过载。vector模板对使用SIMD内在函数的长度为4和8的数组进行了专门化,但是数组访问运算符返回对vector元素的引用(用于更新该元素)给我一个关于clang的错误“非常量引用不能绑定(bind)到vector元素”。Fullsourcecode重载运算符:#ifdef_MSC_VERfloatoperator[](intidx)const{returnv.m256_f32[idx];}//m256_f32MSVConly

c++ - 从 SIMD vector 中提取集合字节位置

我使用SIMD指令运行一系列计算。这些指令返回一个16字节的vector作为结果,名为compare,每个字节都是0x00或0xff:012345671516compare:0x000x000x000x000xff0x000x000x00...0xff0x00字节设置为0xff意思是我需要运行函数do_operation(i)i是字节的位置。比如上面的comparevector意味着,我需要运行这个操作序列:do_operation(4);do_operation(15);这是迄今为止我想到的最快的解决方案:for(...){////SIMDcomputations//__m128ic

iphone - iOS 设计 : Using the delegate pattern in a library

我有一个库项目,它使用ASIHTTPRequest发出URL请求并解析响应。该库将由单独的iPhone应用程序项目使用。如果我的iPhoneController代码响应触摸事件,然后调用库发出URL请求,我如何最好地异步执行请求?在库中,如果我对异步请求使用委托(delegate)模式,如ASIHTTPRequest示例代码所示,我如何将数据从库返回到iPhoneController中的调用代码?如果我改为在库中使用ASIHTTPRequest发出同步URL请求,那么将iPhoneController对库的调用放在单独的线程上以避免占用UI线程的最简单方法是什么?