C Programming/Mixing languages

From Wikibooks, open books for an open world
Jump to: navigation, search
Previous: Language extensions Index Next: GObject



Contents

[edit] Assembler

See Embedded Systems/Mixed C and Assembly Programming

[edit] Cg

Make the main program ( for CPU) in C, which loads and run the Cg program ( for GPU ).[1][2][3]

[edit] 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 */

[edit] Java

Using the Java native interface (JNI), Java applications can call C libraries.

See also

[edit] 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".

Further details can be found on the perlxstut perldoc page.

[edit] Python

[edit] For further reading

[edit] References

  1. Lesson: 47 from NeHe Productions
  2. Cg Bumpmapping by Razvan Surdulescu at GameDev
  3. [http://www.fusionindustries.com/default.asp?page=cg-hlsl-faq | Cg & HLSL Shading Language FAQ by Fusion Industries]
  4. http://http.developer.nvidia.com/CgTutorial/cg_tutorial_appendix_b.html NVidia Cg tutorial. Appendix B. The Cg Runtime
Previous: Language extensions Index Next: Code library
Personal tools
Namespaces
Variants
Actions
Navigation
Community
Toolbox
In other languages
Sister projects
Print/export