将嵌入文件作为char数组时的编译器问题
compiler problems with embedded files as char array
我试图嵌入一个文件(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
中使用相同的名称
得到类似函数被用相同的名字声明了两次的错误…等等
edit2:
"#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
添加到每行的末尾
相关文章:
- 为大型数组提供堆大小的编译器
- 为什么在某些编译器中可以声明像int myarr[noconstant]这样的数组;而不是在其他编译器中?
- 如何在macOS中的旧扩展clang和gcc编译器中初始化数组和向量
- 使用动态数组对算法编译器错误进行排序
- 为什么编译器在试图初始化具有C 11样式的对象数组时隐含删除构造函数
- 使用 MSVC C++编译器创建动态大小的数组
- 在另一个编译器中打印乱码的数组 |C++
- 使用赋值运算符复制两个类中的数组时出现编译器错误
- 编译器将随机字符添加到我的 char 数组中
- 编译器崩溃与C++数组
- C/C++编译器如何自动推导某些C函数调用的数组长度
- 使用数组作为地图密钥不使用C 11编译器命令
- 数组声明上的编译器错误
- 为什么当我通过引用传递数组时,我会收到一个编译器错误,指出我的变量未定义
- 编译器认为新数组正在创建新对象
- 与IDE/编译器数组处理的差异
- 数组的C++std::vector出现编译器错误
- 编译器在数组到指针衰减存储中生成的指针在哪里
- 使用 typedef、多维数组和指针时编译器错误
- GNU 编译器与 Visual Studio 在分配的数组上分配了长度常量,在作用域中