LINUX.ORG.RU

Документация по «дополнительным» функциям к языку си

 ,


1

2

Подскажите где можно узнать о библиотечных функциях языка си используемых в visual studio? Поясню, что я имею ввиду. У меня есть классическое издание си Г.Шилдта, в нем приведено множество функций разделенных по категориям, но функции предлагаемые к использованию в vs есть частично. Есть ли литература по этим функциям, некий справочник?

в Visual Studio компилятор СИ поддерживает, то что поддерживает стандарт C89. Ограничивайся этим стандартом и всё будет ок.

Используй функции которые тут https://en.cppreference.com/w/c (без C99, C11 и те которые не в Technical Specifications.)

С89 Visual Studio поддерживает хорошо, сам я на С89 не пишу, но Visual Studio собирает программы которые я пишу на Vala.

Если этого недостаточно, то пиши на С, так чтобы он был совместим с С++(есть флаг компилятора /TP, который заставляет любой код компилироваться как код С++). Тогда можно использовать те С99 и С11 функции которые есть в С++17.

Visual Studio на данный момент имеет компилятор, который наиболее полно соотвествует С++17 https://en.cppreference.com/w/cpp/compiler_support#cpp17

А вообще вот полный справочник функций: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/crt-alphabet...

Только не пользуйся им без необходимости. Пользуйся стандартом, пиши переносимый код.

fsb4000 ()
Последнее исправление: fsb4000 (всего исправлений: 6)
Ответ на: комментарий от fsb4000

Если этого недостаточно, то пиши на С, так чтобы он был совместим с С++(есть флаг компилятора /TP, который заставляет любой код компилироваться как код С++). Тогда можно использовать те С99 и С11 функции которые есть в С++17.

И тогда можно словить баг на ровном месте, потому что некоторые конструкции C99 значат немного другое в C++. Например,

return &(struct a){.field = 1};

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

return &(struct a){.field = 1};

Такое и в Си ничего хорошего не значит, когда в return. :)

А вообще VS, как оказалось, достаточно неплохо поддерживает C99. Из неподдерживаемого в общем только неконстантные длины локальных массивов. Ну и очень удобные gcc-шные расширения не поддерживает, типа typeof или трюков для макросов.

Sorcerer ★★★★★ ()
Ответ на: комментарий от ArkaDOSik

Дебилы, что с них взять, кроме анализов (да и те — говно!)?

Наглые какие-то пошли вантузоиды. Задавать на ЛОРе вопросы, которые к линуксу вообще отношения не имеют.

ТС, пойди на форум коневодов и спроси, чем лучше пираний кормить!

anonymous ()