gpt4 book ai didi

c++ - 嵌入式文件作为 char 数组的编译器问题

转载 作者:行者123 更新时间:2023-11-28 07:43:25 25 4
gpt4 key购买 nike

我正在尝试将文件(OpenCL 内核)嵌入为 char 数组主要问题是它给我包含 #

的任何行的错误

例子:

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 次......等等

编辑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 添加到每一行的末尾。

关于c++ - 嵌入式文件作为 char 数组的编译器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15372603/

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