gpt4 book ai didi

c - NVCC:警告:允许所有异常与以前的功能不兼容

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:42 25 4
gpt4 key购买 nike

我正在尝试实际使用 -Wall 并删除我当前程序中的所有警告。我知道这不是必需的,但它似乎没有什么坏处,也没有被证明太耗时。

我正在使用套接字在两个程序之间进行通信:一个在 C++11 中(带有 c 部分),另一个在 CUDA 中(因此 NVCC 作为编译器)。套接字的创建非常相似,为了防止出现警告,我编写了如下行:

#include<string.h>
extern char* strcpy(char*,const char*);

这个前向声明非常适合 gcc/g++ 以防止像这样的警告:

source.c:33:4: warning: implicit declaration of function ‘strcpy’ [-Wimplicit-function-declaration] 
strcpy(saun.sun_path,CUDA_SOCKET_ADDR);

source.c:33:4: warning: incompatible implicit declaration of built-in function ‘strcpy’ [enabled by default]

但是,NVCC 程序上的相同代码会产生另一个警告:

CUDAsource.cuh(26): warning: allowing all exceptions is incompatible with previous function "strcpy"
/usr/include/string.h(129): here

是否需要在我的 makefile 中设置其他设置?目前C端有如下flags:

-g -O0 -Wall -std=c99

nvcc 有:

-g -G

如有任何提示,我们将不胜感激。

谢谢。

最佳答案

删除外部定义并向编译器标志添加 -D_GNU_SOURCE 解决了该问题。

关于c - NVCC:警告:允许所有异常与以前的功能不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24868575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com