聲明:作者在C/C++初學者級別。爲什麼一些OpenCL示例用C++編寫而不是C?
維基百科說,「OpenCL包括用於編寫內核的語言(基於C99)」。但是如果你看一下OpenCL編程指南書中的任何代碼示例,你會發現除了內核.cl文件之外,總是有一個.cpp文件(甚至很少)。
(「儘管許多在本 本書描述的示例應用程序都使用了C++編程語言開發的,我們有 上的OpenCL C API完全集中控制的OpenCL 組成部分。」)
不這意味着內核是用C語言編寫的,而所有其他的東西(如內存對象管理)是用C++編寫的?爲什麼一切都不是用C語言寫的? C++綁定不會引入開銷嗎?
爲什麼?因爲他們可以,顯然。從C++調用C API沒有任何開銷。即使P /從.NET調用C API的開銷也很小。 –