LabWindows/CVI Idea Exchange

About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.

The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.

Top Kudoed Authors
User Kudos Count
2
1
Showing results for 
Search instead for 
Did you mean: 

complete C99 support

well, the title says it all: extend the current partial support of C99 standard to full support

  • Compiler
  • Performance
9 Comments
Trusted Enthusiast
Trusted Enthusiast
Status changed to: Under Consideration
 
Member m-a
Member

A decade after the C99 release, some of C99's more usefuly features (full standard C library, C99 types, and variadic macros support, to name a few features) are sorely missed -- and in the meanwhile, the C standard has been revised to C11 (which shouldn't hold back any efforts for full C99 support)... http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57853

Member MarcelK
Member

What's missing in respect to variadic macro support? That has been working for me since CVI 8.51.

Trusted Enthusiast
Trusted Enthusiast

Marcel,

 

there is no support for complex numbers, and bool still has to be defined by oneself (instead via <stdbool.h>)...  Also, support for unicode characters and double extended should be improved, e.g. see here, and the C11 features of multithreading (<threads.h>, <stdatomic.h>) and memory aligmnent (<stdalign.h>) might be interesting for some of us.

Member MarcelK
Member

Wolfgang, thanks, but I know this all (I expect partial C11 support by some vendors by 2030). "m-a" however said "variadic macro" support was missing, which I think is there.

Trusted Enthusiast
Trusted Enthusiast

Marcel, wow, you are really optimistic... 2030... I hope that at least some of the suggestions of this idea exchange will be implemented in CVI a little bit earlier than this Smiley Wink

Member MarcelK
Member

You know how they say, a pessimist is an optimist with experience Smiley Wink Seeing how spotty C99 support is with many C compilers even today I don't really have much hope for C11. But as hope dies last, I hope with you Smiley Happy

Member m-a
Member

Indeed, variadic macro support appears to be working for me (not sure what I'd done wrong the first time I've tried).

 

Math.h support however is stuck with C89/C90, for instance, erf(), erfc(), round() and rint() are missing in CVI 9.0.1 and CVI 2010 according to http://zone.ni.com/reference/en-XX/help/370051T-01/cvi/libref/cviansi_c_libfunctiontree/ -- but these are only examples.

 

I'd certainly appreciate if the next CVI release offered the union of C99 and C11 library support. It's a pity that even the mainstream C99 library support isn't there, after more than a decade.

Trusted Enthusiast
Trusted Enthusiast

Now with CVI based on clang and clang supporting C99 including complex numbers it would be very nice if CVI itself also would support complex numbers:

 

- with the appropriate functions such as clog, csqrt,...

- with an adapted Advanced Analysis Library

- with the variable view displaying real and imaginary part

- with the data tooltips displaying real and imaginary part