The LabVIEW C Code Generator, which is a component of the Microprocessor SDK, creates ANSI C code from a LabVIEW block diagram. You also can add pre-existing C code you might have. When you build a block diagram into an embedded application, LabVIEW traverses the block diagram and generates simple C primitives if possible. For example, the LabVIEW C Code Generator converts While Loops to while() statements and converts the Add function to a simple C operation. However, a straight mapping is not possible for more complex functions so the LabVIEW C Code Generator uses the LabVIEW C Code Run-Time Library, which is analogous to the LabVIEW Run-Time Engine in LabVIEW for Windows. An important part of porting LabVIEW to a new target involves porting the LabVIEW C Code Run-Time Library, which contains such things as communication, data manipulation, timing functions, and so on. The Microprocessor SDK includes the source code for the LabVIEW C Code Run-Time Library.
The code that the LabVIEW C Code Generator generates passes through a cross-compiler. If you add pre-existing C code, the extra C files you provide also pass through the cross-compiler and are linked into an executable you can run on the embedded device, which is called a target in LabVIEW. You implement how this executable downloads, or deploys, to the correct memory location and begins running on the embedded target through standard communication protocols. JTAG emulator, RS-232, and Ethernet are common ways to handle the communication between LabVIEW and an embedded target, but you can use other communication protocols.