C Runtime API Reference

The following C runtime library calls are supported in the RTSS environment.

NOTE:  You can define UNDER_RTSS_UNSUPPORTED_CRT_APIS either before rtapi.h is included or as a pre-processor definition to see what RTSS C Runtime functions have been deprecated.

NOTE:  Printf requires the Microsoft C Runtime but RtPrintf does not. RtPrintf uses a RTX-provided implementation that provides a subset of the Printf functionality.

C Library Function Name

Notes

Deterministic?

_aligned_free

 

  No

_aligned_malloc

 

No

_aligned_msize

 

No  

_aligned_offset_malloc

 

No  

_aligned_offset_realloc

 

No  

_aligned_offset_recalloc

 

No  

_aligned_realloc

 

No  

_aligned_recalloc

 

No  

abs

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

acos

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

asin

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

atan

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

atan2

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

atof

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

atoi

  • The call is supported as both an Rt call and as a Win32 call (for example, RtAtoi and Atoi).
  • Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

atol

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

bsearch

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

calloc

Not supported in shared RTDLL.

No

ceil

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

cos

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

cosh

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

difftime

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

div

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

exit

Not supported in shared RTDLL.

No

exp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

fabs

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

fclose

Not supported in shared RTDLL.

No

fflush

Not supported in shared RTDLL.

No

fgets

Not supported in shared RTDLL.

No

floor

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

fmod

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

fopen

Not supported in shared RTDLL.

No

fprintf(stderr)

  • Not for use in an RTSS DLL.
  • Not supported in shared RTDLL.
No

fputc

Not supported in shared RTDLL.

No

fputs

Not supported in shared RTDLL.

No

fread

Not supported in shared RTDLL.

No

free

Not supported in shared RTDLL.

No

frexp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

fseek

Not supported in shared RTDLL.

No

ftell

Not supported in shared RTDLL.

No

fwrite

Not supported in shared RTDLL.

No

getc

Not supported in shared RTDLL.

No

isalnum

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isalpha

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iscntrl

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isdigit

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isgraph

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

islower

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isprint

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

ispunct

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isspace

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isupper

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswalnum

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswalpha

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswascii

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswcntrl

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswctype

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswdigit

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswgraph

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswlower

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswprint

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswpunct

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswspace

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswupper

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

iswxdigit

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

isxdigit

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

labs

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

ldexp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

ldiv

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

log

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

log10

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

longjmp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

main

Not supported in shared RTDLL.

No

malloc

Not supported in shared RTDLL.

No

memchr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

memcmp

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

memcpy

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

memmove

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

memset

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

modf

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

perror

  • Not for use in an RTSS DLL.
  • Not supported in shared RTDLL.
No

pow

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

printf

  • The call is supported as both an Rt call and as a Win32 call (for example, RtAtoi and Atoi).
  • Not for use in an RTSS DLL.
  • Not supported in shared RTDLL.
No

putc

Not supported in shared RTDLL.

No

putchar

Not supported in shared RTDLL.

No

qsort

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

rand

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

realloc

Not supported in shared RTDLL.

No

rewind

Not supported in shared RTDLL.

No

setjmp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

signal

Not supported in shared RTDLL.

No

sin

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

sinh

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

sprintf

  • The call is supported as both an Rt call and as a Win32 call (for example, RtAtoi and Atoi).
  • Not for use in an RTSS DLL.
  • Not supported in shared RTDLL.
No

sqrt

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

srand

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

sscanf

Not supported in shared RTDLL.

No

strcat

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strchr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strcmp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strcpy

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

strcspn

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strerror

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strlen

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strncat

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strncmp

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

strncpy

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

strpbrk

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strrchr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strspn

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strstr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strtod

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strtok

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strtol

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

strtoul

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

swprintf

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

tan

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

tanh

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

tolower

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

toupper

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

towlower

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

towupper

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

ungetc

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

va_start

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

vsprintf

  • Not for use in an RTSS DLL.
  • Not supported in shared RTDLL.
No

wcscat

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcschr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcscmp

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcscpy

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcscspn

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcsftime

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcslen

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcsncat

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcsncmp

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

wcsncpy

Not supported in shared RTDLL.

Yes - the call is deterministic for small input sizes.

wcspbrk

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcsrchr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcsspn

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcsstr

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcstod

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcstok

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcstol

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wcstoul

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wmain

Not supported in shared RTDLL.

No

wprintf

  • The call is supported as both an Rt call and as a Win32 call (for example, RtAtoi and Atoi).
  • Not for use in an RTSS DLL.
  • Not supported in shared RTDLL.
No

wtof

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wtoi

  • The call is supported as both an Rt call and as a Win32 call (for example, RtAtoi and Atoi).
  • Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

wtol

Not supported in shared RTDLL.

Yes - the elapsed time for the call is less than 5 microseconds.

_controlfp

Not supported in shared RTDLL.

No

_fpreset

Not supported in shared RTDLL.

No

NOTE:  The RTX C Runtime function exit() terminates a program execution and RTX closes all open files when the program ends; the value argument of exit() is not returned to the caller.

Using Visual Studio 2015 and 2013 with C Runtime

The following C runtime library calls supported in the RTSS environment have been deprecated in Visual Studio. The function that replaces them is listed in the right column.

Deprecated Function

New Function

controlfp

 _controlfp_s

 

fopen

 fopen_s

fprintf (stderr)

fprintf_s

memcpy

memcpy_s

memmove

memmove_s

sprintf

sprintf_s

strcat

strcat_s

strcpy

strcpy_s

strerror

strerror_s

strncpy

strncpy_s

strtok

 strtok_s

swprintf

swprintf_s

vsprintf

vsprintf_s

vswprintf

vswprintf_s

wcscat

wcscat_s

wcscpy

wcscpy_s

wcsncpy

wcsncpy_s

wcstok

wcstok_s

NOTE:  Visual Studio optimization may sometimes optimize code into C Runtime functions. This may require previous RTSS Release applications that did not link to C Runtime to now link to C Runtime.

 

See Also

IntervalZero.com | Support | Give Feedback