Gast
2013-04-05, 00:30:59
Hallo,
ich programmiere aktuell ein wenig für OpenCL in C. Auf Grund mangelnder Zielstrebigkeit hält mich wiedermal ein unrelevantes Detail von der Arbeit ab. Also...
Der OpenCL-C-Source-Code muss als char-Array in C vorliegen. Idealerweise ist dieses Array bereits zur Compile-Zeit bekannt und muss so nicht zur Laufzeit eingelesen werden. Das sieht dann so aus:
const char opencl_c_src[] = {
"__constant float c_pi = 3f;\n"
"__kernel void\n"
"\n"
"sinnlos(__global const float *x)\n"
"{\n"
"}\n"
};
Da dies nicht hübsch aussieht und viele Metazeichen enthält, hätte ich gerne eine Datei kernel.cl mit dem Inhalt:
__constant float c_pi = 3f;
__kernel void
sinnlos(__global const float *x)
{
}
So wäre das Programmieren gleich viel angenehmer und ein schickes Syntax-Highlighting würde meiner Seele Frieden bringen. Die Frage ist jetzt, wie ich mit Hilfe des Precompilers den Inhalt der Datei in einen String bekomme. Ist das irgendwie möglich? Shell-Skripte sollen nach Möglichkeit gemieden werden.
Danke.
ich programmiere aktuell ein wenig für OpenCL in C. Auf Grund mangelnder Zielstrebigkeit hält mich wiedermal ein unrelevantes Detail von der Arbeit ab. Also...
Der OpenCL-C-Source-Code muss als char-Array in C vorliegen. Idealerweise ist dieses Array bereits zur Compile-Zeit bekannt und muss so nicht zur Laufzeit eingelesen werden. Das sieht dann so aus:
const char opencl_c_src[] = {
"__constant float c_pi = 3f;\n"
"__kernel void\n"
"\n"
"sinnlos(__global const float *x)\n"
"{\n"
"}\n"
};
Da dies nicht hübsch aussieht und viele Metazeichen enthält, hätte ich gerne eine Datei kernel.cl mit dem Inhalt:
__constant float c_pi = 3f;
__kernel void
sinnlos(__global const float *x)
{
}
So wäre das Programmieren gleich viel angenehmer und ein schickes Syntax-Highlighting würde meiner Seele Frieden bringen. Die Frage ist jetzt, wie ich mit Hilfe des Precompilers den Inhalt der Datei in einen String bekomme. Ist das irgendwie möglich? Shell-Skripte sollen nach Möglichkeit gemieden werden.
Danke.