C Programming/Mixing languages
Cg
Make the main program ( for CPU) in C, which loads and run the Cg program ( for GPU ).[1][2][3]
Header Files
Add to C program :[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
Using the Java native interface (JNI), Java applications can call C libraries.
See also
Perl
To mix Perl and C, we can use XS. XS is an interface description file format used to create an extension interface between Perl and C code (or a C library) which one wishes to use with Perl.
The basic procedure is very simple. We can create the necessary subdirectory structure by running "h2xs" application (e.g. "h2xs -A -n Modulename"). This will create - among others - a Makefile.PL, a .pm Perl module and a .xs XSUB file in the subdirectory tree. We can edit the .xs file by adding our code to that, let's say:
void
hello()
CODE:
printf("Hello, world!\n");
and we can successfully use our new command at Perl side, after running a "perl Makefile.PL" and "make".
References
- ↑ Lesson: 47 from NeHe Productions
- ↑ Cg Bumpmapping by Razvan Surdulescu at GameDev
- ↑ [http://www.fusionindustries.com/default.asp?page=cg-hlsl-faq | Cg & HLSL Shading Language FAQ by Fusion Industries]
- ↑ http://http.developer.nvidia.com/CgTutorial/cg_tutorial_appendix_b.html NVidia Cg tutorial. Appendix B. The Cg Runtime