Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 作为字符数组的嵌入式文件的编译器问题_C++_C_Char_Opencl - Fatal编程技术网

C++ 作为字符数组的嵌入式文件的编译器问题

C++ 作为字符数组的嵌入式文件的编译器问题,c++,c,char,opencl,C++,C,Char,Opencl,我试图嵌入一个文件(OpenCL内核)作为字符数组 主要问题是,对于任何包含# 例如: char mykernel[] = "stuff ---" "#if(1)" " stuff" "#else" " another stuff" "#define ASD 15"; void* clh = clsopen(cp,mykernel,CLLD_NOW); 所有这些都给我带来了严重的错误(编译器错误,好像它看不到它们) 编辑:在发布问题时分号是一个错误 错误如下: #define A

我试图嵌入一个文件(OpenCL内核)作为字符数组 主要问题是,对于任何包含
#

例如:

char mykernel[] =
"stuff ---"
"#if(1)"
"    stuff"
"#else"
"    another stuff"
"#define ASD 15";

void* clh = clsopen(cp,mykernel,CLLD_NOW);
所有这些都给我带来了严重的错误(编译器错误,好像它看不到它们)

编辑:在发布问题时分号是一个错误

错误如下:

#define ASD 15
在整个代码中使用此ASD,可以获得未声明的标识符等错误

使用
#if
#else

#if
中使用一些函数,在
#else
中使用相同的名称

获取错误,如函数被声明两次,名称相同…等等

编辑2:

"#if(1)" //char number 26123: error: note: previous definition is here
"    inline functionA ...with output A"
"#else" //char number 28700: error: redefinition of functionA
"    inline functionA ...with output B"

所有以
#
开头的行也是不带任何前导空格的行。问题是,在自然源文件中,每一行都将以
\n
结尾,编译器将其视为空白。将
\n
添加到每行末尾。

缺少分号。如果我们知道错误是什么,这会有所帮助。也许你需要在
\define
之前添加
\n
?@qehgt:wow虽然这是一个简单的注释,但它有效:D