小编Lys*_*gel的帖子

为什么CGFloat在32位上浮动并在64位上加​​倍?

来自"CoreGraphics/CGBase.h":

#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif
Run Code Online (Sandbox Code Playgroud)

Apple为什么要这样做?有什么好处?

我似乎只能想到缺点.请赐教.

core-graphics objective-c

6
推荐指数
1
解决办法
1254
查看次数

CUDA 5.5 RC与g ++ 4.7和4.8:__ int128构建错误

我正在尝试使用COSA SDK 5.5 RC和Mac OS X 10.8上的g ++ 4.7编译一些代码.如果我理解正确,CUDA 5.5应该与g ++ 4.7一起使用.查看/usr/local/cuda/include/host_config.h它甚至可以使用g ++ 4.8.

关于g ++ 4.8:我试着编译以下程序:

// example.cu
#include <stdio.h>
int main(int argc, char** argv) {
  printf("Hello World!\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但它失败了:

$ nvcc example.cu -ccbin=g++-4.8
/usr/local/Cellar/gcc48/4.8.1/gcc/include/c++/4.8.1/cstdlib(178): error: identifier "__int128" is undefined
/usr/local/Cellar/gcc48/4.8.1/gcc/include/c++/4.8.1/cstdlib(179): error: identifier "__int128" is undefined
2 errors detected in the compilation of "/tmp/tmpxft_00007af2_00000000-6_example.cpp1.ii".
Run Code Online (Sandbox Code Playgroud)

相同的程序使用g ++ 4.7编译和运行:

$ nvcc example.cu -ccbin=g++-4.7
$ ./a.out 
Hello World!
Run Code Online (Sandbox Code Playgroud)

但如果我包括<limits> ......

// example_limits.cu
#include <stdio.h>
#include <limits>
int main(int argc, char** …
Run Code Online (Sandbox Code Playgroud)

cuda g++-4.7 g++4.8

5
推荐指数
1
解决办法
4354
查看次数

标签 统计

core-graphics ×1

cuda ×1

g++-4.7 ×1

g++4.8 ×1

objective-c ×1