Я могу смешать C++ и C в единственном проекте в Visual Studio?

Ну, посмотрите основа 64 : 0-9, A-Z, a-z и затем несколько символов в зависимости от контекста. (Base64 для сети имеет тенденцию отличаться от других схем избежать проблем кодирования URL/HTML.)

16
задан Glorfindel 3 May 2019 в 19:05
поделиться

3 ответа

Прежде всего, вам даже не понадобится / Tc , если вы создаете его самостоятельно - cl.exe использует расширение файла для определения типа, поэтому файлы .c будут скомпилированы как C default, а файлы .cpp и .cxx как C ++.

Для проектов VS это работает точно так же, за исключением того, что вы не можете изменить это поведение (или, по крайней мере, я не знаю как).

9
ответ дан 30 November 2019 в 22:43
поделиться

Нет абсолютно никаких проблем со смешиванием C и C ++ в одном проекте. Все, что вам нужно сделать, это разработать интерфейс между модулями C и C ++ в виде функций C и структур данных C, а затем убедиться, что эти функции интерфейса объявлены на стороне C ++ с помощью спецификатора C-linkage extern " C ".

6
ответ дан 30 November 2019 в 22:43
поделиться

Они должны добавить отлично, учитывая, что компилятор Microsoft C скомпилирует и то, и другое. Если вы добавите их в проект, они будут переданы в cl - и я считаю, что cl делает выбор, какой режим использовать, в зависимости от расширения файла. Вы используете .cpp , и это хорошо.

Вкратце: да.

GCC тоже сделает это, поэтому ваш make-файл должен быть достаточно переносимым.

1
ответ дан 30 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: