跳转到内容

C 编程/混合语言

来自维基教科书,开放书籍,开放世界
上一篇: 语言扩展 C 编程 下一篇: GObject

汇编程序

[编辑 | 编辑源代码]

参见 嵌入式系统/混合C和汇编编程

在 C 中创建主程序(用于 CPU),该程序加载并运行 Cg 程序(用于 GPU)。[1][2][3]

头文件

[编辑 | 编辑源代码]

添加到 C 程序中:[4]

#include <Cg/cg.h> /* To include the core Cg runtime API into your  program */
#include <Cg/cgGL.h>  /* to include the OpenGL-specific Cg runtime API */

最小程序

[编辑 | 编辑源代码]

使用 Java 本地接口 (JNI),Java 应用程序可以调用 C 库。

另见

为了混合 Perl 和 C,我们可以使用 XS。XS 是一种接口描述文件格式,用于在 Perl 和希望与 Perl 一起使用的 C 代码(或 C 库)之间创建扩展接口。

基本流程非常简单。我们可以通过运行“h2xs”应用程序(例如“h2xs -A -n 模块名”)来创建必要的子目录结构。这将在子目录树中创建 - 除其他外 - 一个 Makefile.PL、一个 .pm Perl 模块和一个 .xs XSUB 文件。我们可以通过将我们的代码添加到其中来编辑 .xs 文件,例如

void
hello()
  CODE:
    printf("Hello, world!\n");

并且在运行“perl Makefile.PL”和“make”之后,我们可以在 Perl 端成功使用我们的新命令。

更多详细信息可以在 perlxstut perldoc 页面上找到。

这里可以找到一些关于用 C 编写的模块扩展 Python 的详细信息。您可能还会阅读有关 CythonPyrex 的信息,这些信息使用 C 创建模块更容易,将类似 Python 的代码转换为 C。

使用 Python ctypes 模块,可以在 Python 中直接编写 C 代码。

进一步阅读

[编辑 | 编辑源代码]

参考文献

[编辑 | 编辑源代码]
  1. 课程:47 来自 NeHe Productions
  2. Cg 凹凸贴图 by Razvan Surdulescu at GameDev
  3. [http://www.fusionindustries.com/default.asp?page=cg-hlsl-faq | Cg & HLSL 着色语言常见问题解答 by Fusion Industries]
  4. http://http.developer.nvidia.com/CgTutorial/cg_tutorial_appendix_b.html NVidia Cg 教程。附录 B. Cg 运行时
  5. 用于良好基础理解的绝对最小 CG 程序
上一篇: 语言扩展 C 编程 下一篇: 代码库
华夏公益教科书