小编use*_*205的帖子

为什么 C 中的绝对值函数不接受常量输入?

在 C 中,绝对值函数(接受浮点数)的原型是

 float fabsf( float );
Run Code Online (Sandbox Code Playgroud)

为什么这个原型不接受一个常量值,像这样:

 float fabsf( float const );
Run Code Online (Sandbox Code Playgroud)

fabsf 不会改变输入的值,是吗?

如果我有一个接受输入并调用 fabsf 的函数,我是否被迫避免将输入指定为 const?

在这种情况下处理常量正确性的适当方法是什么?

c constants function pass-by-value

22
推荐指数
4
解决办法
2775
查看次数

带SIMD的矢量点积

我试图使用SIMD指令加速我的C代码中的点积计算.但是,我的函数的运行时间大致相等.如果有人能解释为什么以及如何加快计算,那就太棒了.

具体来说,我正在尝试计算两个数组的点积,其中包含大约10,000个元素.我的常规C函数如下:

 float my_dotProd( float const * const x, float const * const y, size_t const N ){
   // N is the number of elements in the arrays
   size_t i;
   float out=0;

   for( i=0; i < N; ++i ){
     out += x[i] * y[i];
   }

   return out;
 }
Run Code Online (Sandbox Code Playgroud)

我使用AVX SIMD命令的功能如下:

 void my_malloc( size_t nBytes, void ** ptrPtr ){
   int boundary = 32;
   posix_memalign( ptrPtr, boundary, nBytes );
 }

 float cimpl_sum_m128( __m128 x ){
   float out;
   __m128 sum = x;
   sum …
Run Code Online (Sandbox Code Playgroud)

c x86 simd avx

2
推荐指数
1
解决办法
2256
查看次数

在XCode C++应用程序中使用ImageMagick的问题

我试图使用ImageMagick将图像加载到我的C++应用程序中; 我在XCode 7中开发.我正在努力.这是我的代码.

#include "Magick++.h"

int main(int argc, const char * argv[]) {
  Magick::Image img;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下.

Ld /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug/clsFusion normal x86_64
    cd /Users/ndwork/Desktop/clsFusion
    export MACOSX_DEPLOYMENT_TARGET=10.11
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -L/Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug -L/opt/X11/lib -F/Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug -filelist /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Intermediates/clsFusion.build/Debug/clsFusion.build/Objects-normal/x86_64/clsFusion.LinkFileList -mmacosx-version-min=10.11 -Xlinker -no_deduplicate -stdlib=libc++ -lX11.6 -Xlinker -dependency_info -Xlinker /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Intermediates/clsFusion.build/Debug/clsFusion.build/Objects-normal/x86_64/clsFusion_dependency_info.dat -o /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug/clsFusion

Undefined symbols for architecture x86_64:
  "Magick::Image::Image()", referenced from:
      _main in main.o
  "Magick::Image::~Image()", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code …
Run Code Online (Sandbox Code Playgroud)

c++ xcode imagemagick magick++

0
推荐指数
1
解决办法
515
查看次数

标签 统计

c ×2

avx ×1

c++ ×1

constants ×1

function ×1

imagemagick ×1

magick++ ×1

pass-by-value ×1

simd ×1

x86 ×1

xcode ×1