The execution behavior of the C code that the LabVIEW C Generator creates differs from the typical execution behavior of LabVIEW VIs running on Windows. LabVIEW VIs running on Windows use parallel execution behavior, while generated C code does not. For example in generated C code, parallel While Loops execute in sequence with one While Loop executing only after the other While Loop completely finishes. To avoid potential deadlock in the generated C code, ensure that the exported VI does not include parallel execution.
The C Generator generates C code for all VIs in the VI hierarchy as if all VIs are subroutine priority VIs. The main difference between the subroutine priority setting in the VI Properties dialog box and how the C Generator generates C code is that subroutine VIs running on Windows do not allow asynchronous functions. The C Generator converts asynchronous functions into synchronous functions and does not return to the caller until complete.