Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7711949
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T01:30:20+00:00 2026-06-01T01:30:20+00:00

I am porting a Windows library to Android (with the GNU Standard C++ Library

  • 0

I am porting a Windows library to Android (with the GNU Standard C++ Library option, libstdc++-v3) and there seem to be numerous naming differences between the VC and GNU libraries, e.g.:

  • _stricmp is called strcasecmp instead
  • _unlink is called unlink
  • _scalb is called scalbn
  • _finite is called isfinite
  • _isnan is called isnan
  • _itoa and itoa do not seem to exist in GNU C++
  • atoi does exist, but not atoi64

The documentation of both VC and GNU libraries implies that they implement “ISO” C++, for example I can get a few warnings out of VC2008 for not using “ISO C++” names, such as this one: “warning C4996: ‘itoa’: The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa.” Similarly GNU’s manual says “The GNU Standard C++ Library v3 is an ongoing project to implement the ISO 14882 Standard C++ library”.

So how do the libraries end up with these different names? How can I tell which names are more “standard”?

Also, is there an index of libstdc++-v3 anywhere, i.e. a simple list of all functions in the library? I can only find a manual and the “source documentation” which does not appear to offer a list of functions.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T01:30:22+00:00Added an answer on June 1, 2026 at 1:30 am

    This has very little to do with the C++ standard library. It has more to do with C99 and POSIX.

    • strcasecmp is a POSIX function that libstdc++ happens to implement. msvcrt typically stays at arm’s length from POSIX.
    • unlink is similar—it’s a POSIX function.
    • scalbn is the name of the function in the C99 standard. MSVC doesn’t support C99. However, scalbn is part of C++11, so I would expect it to show up in msvcrt eventually.
    • isfinite and isnan are both C99.
    • itoa is neither C99 nor POSIX. It’s a strange beast that just shows up in the night.

    I’ll also point out what several others have pointed out: it’s technically more correct to prefix any functions in the standard library that are actually non-standard with an underscore. That’s the reason for the proliferation of underscores in msvcrt.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm porting a library from Windows to *NIX (currently OSX), does anyone now what
I'm in the process of porting a C++ library from Linux to Windows, and
I'm currently porting a Windows C++ library to MacOS as a hobby project as
On Unix to Windows Porting Dictionary for HPC page for fork() it's written There
I am porting a communications library from Linux to Windows. I know what my
I'm porting an Android app to Windows Phone 7, and while perusing through the
I am porting a Windows application to OSX and need to get user's home,
I'm porting a windows program from 32 -> 64 bit. It has a 32
I'm working on porting a windows-only application to Linux, and eventually to Mac OSX.
I am porting my application to windows from Linux. I am fairly new to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.