Я портирование библиотеки Windows для Android (с GNU Standard C++ варианта библиотеки, libstdC++ - v3) и там, кажется, многочисленные называющие различия между библиотеками VC и GNU, например:Почему стандартные имена функций библиотеки различаются между Windows и Linux?
_stricmp
называетсяstrcasecmp
вместо_unlink
называетсяunlink
_scalb
называетсяscalbn
_finite
называетсяisfinite
_isnan
называетсяisnan
_itoa
иitoa
, кажется, не существует в GNU C++atoi
существует, но неatoi64
Документация обоих VC и GNU библиотеки предполагает, что они реализуют «ISO «C++, например, я могу получить несколько предупреждений из VC2008 для того, чтобы не использовать имена« ISO C++ », например:« warning C4996: «itoa»: имя POSIX для этого элемента устарело. Вместо этого используйте имя совместимого с ISO C++: _itoa ». Аналогичным образом в руководстве GNU говорится:« Библиотека стандартного C++ GNU v3 - это постоянный проект по внедрению стандартной библиотеки C++ стандарта ISO 14882 ».
Итак, как библиотеки заканчиваются этими ? разные названия Как я могу сказать, какие имена более «стандарт»
Кроме того, существует ли индекс из libstdC++ - v3 в любом месте, то есть простой список всех функций в библиотеке я могу только найти manual и «source documentation», который, как представляется, не предлагает список функций.
Некоторые из них не входят в стандартную библиотеку C++, поэтому в этих случаях ни один из них не является «стандартным». –
Microsoft пытается быть последовательной, назвав свои нестандартные функции ведущим подчеркиванием. –
'_atoi64' в MSVC называется' atoll' в GCC. – dan04