小编Hee*_*esh的帖子

将宏参数传递给宏函数

如何将宏参数与另一个整数变量一起传递给宏函数?

#define SUM(X, Y, Z) X + Y + Z
#define FOO 1, 2

void print(int a, int b)
{
    printf("Sum: %d", a + b);
}

int main(void) 
{
    // Normal function works as expected
    print(FOO);

    // Macro function not working
    int a = 3;
    printf("\nMacro Sum: %d", SUM(FOO, a));

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

我期望输出是:

Sum: 3
Macro Sum: 6
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

main.c:18:41: error: macro "SUM" requires 3 arguments, but only 2 given
     printf("\nMacro Sum: %d", SUM(FOO, a));
Run Code Online (Sandbox Code Playgroud)

c macros arguments function parameter-passing

6
推荐指数
2
解决办法
6260
查看次数

Python中十六进制转换的整数

a = 1
print hex(a)
Run Code Online (Sandbox Code Playgroud)

以上给出了输出: 0x1

我如何获得输出0x01

python int hex

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

从源代码构建 TensorFlow 1.5 时出错

操作系统平台和发行版:Ubuntu 17.10

从(源代码或二进制文件)安装的 TensorFlow:源代码

TensorFlow 版本:r1.5

Python版本:2.7.14

巴泽尔版本:0.9

GCC/编译器版本:5.4

CUDA/cuDNN 版本:CUDA 8.0 cuDNN 6

GPU型号和内存:NVidia Geforce GTX 1080Ti 11GB

重现的确切命令:

bazel build --config=opt --config=cuda
--cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --verbose_failures=1 //tensorflow/tools/pip_package:build_pip_package
Run Code Online (Sandbox Code Playgroud)

错误:

ERROR: /home/deepinsightlabs/.cache/bazel/_bazel_deepinsightlabs/6216f77445f5abd83461d60d9c399c02/external/flatbuffers/BUILD:86:1: C++ compilation of rule '@flatbuffers//:flatc' failed (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command 
  (cd /home/deepinsightlabs/.cache/bazel/_bazel_deepinsightlabs/6216f77445f5abd83461d60d9c399c02/execroot/org_tensorflow && \
  exec env - \
    LD_LIBRARY_PATH=:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64 \
    PATH=/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/deepinsightlabs/bin \
    PWD=/proc/self/cwd \
  external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -fPIE -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 -DNDEBUG -ffunction-sections -fdata-sections -g0 -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK '-march=native' '-std=c++11' -g0 -MD -MF bazel-out/host/bin/external/flatbuffers/_objs/flatc/external/flatbuffers/src/idl_gen_js.d '-frandom-seed=bazel-out/host/bin/external/flatbuffers/_objs/flatc/external/flatbuffers/src/idl_gen_js.o' …
Run Code Online (Sandbox Code Playgroud)

bazel tensorflow

5
推荐指数
0
解决办法
900
查看次数

用Python替换列表中的重复元素?

例如,如果我有一个列表如下:

[3, 3, 3, 3, 3, 3, 100, 1, 1, 1, 1, 1, 1, 200, 3, 3, 3, 100, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

如何删除重复的元素并表示相同的元素,然后是重复的次数?示例输出:

[3, 6, 100, 1, 6, 200, 3, 3, 100, 1, 3]
Run Code Online (Sandbox Code Playgroud)

其中3重复6次...... 1重复6次......依此类推

python list

3
推荐指数
1
解决办法
334
查看次数

标签 统计

python ×2

arguments ×1

bazel ×1

c ×1

function ×1

hex ×1

int ×1

list ×1

macros ×1

parameter-passing ×1

tensorflow ×1