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

标签 c cuda warnings nvcc

我正在尝试实际使用 -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/

相关文章:

c - gsoap 客户端编译/链接错误

c++ - CUDA估算2D网格数据的每个 block 的线程数和 block 号

c++ - 如何使用 Cuda 避免段错误时的内存泄漏

c - 解决 "variable ' xxx 的最佳方法已声明但从未被引用”

ios - 在Objective-c编程中连续调用 "SetNeedDisplay"方法时收到内存警告

c - GCC 动态链接 libc static 和其他一些库,重新访问了吗?

c - 逐行循环遍历 char 数组

c - 使用 LU 分解求解 CUDA 中的稀疏线性系统

xcode - (XCode) 在编译某些文件时关闭警告?

c - 固定大小数组的指针数组的正确 C 语法是什么?