He visto esto hace mucho tiempo con código de sombreador hlsl/glsl - usando un #include
en el archivo de código fuente que pega el código en un char*
para que no ocurra ningún archivo IO en tiempo de ejecución.Usando #include para cargar el código OpenCL
Si tuviera que representarlo como pseudo-código, se vería un poco como esto:
#define CLSourceToString(filename) " #include "filename" "
const char* kernel = CLSourceToString("kernel.cl");
Ahora, por supuesto que #define
no va a trabajar, ya que sólo va a tratar de utilizar los comillas para iniciar cadenas.
No hay duda aquí. – dajobe