Ну, посмотрите основа 64 : 0-9, A-Z, a-z и затем несколько символов в зависимости от контекста. (Base64 для сети имеет тенденцию отличаться от других схем избежать проблем кодирования URL/HTML.)
Прежде всего, вам даже не понадобится / Tc
, если вы создаете его самостоятельно - cl.exe использует расширение файла для определения типа, поэтому файлы .c будут скомпилированы как C default, а файлы .cpp и .cxx как C ++.
Для проектов VS это работает точно так же, за исключением того, что вы не можете изменить это поведение (или, по крайней мере, я не знаю как).
Нет абсолютно никаких проблем со смешиванием C и C ++ в одном проекте. Все, что вам нужно сделать, это разработать интерфейс между модулями C и C ++ в виде функций C и структур данных C, а затем убедиться, что эти функции интерфейса объявлены на стороне C ++ с помощью спецификатора C-linkage extern " C "
.
Они должны добавить отлично, учитывая, что компилятор Microsoft C скомпилирует и то, и другое. Если вы добавите их в проект, они будут переданы в cl
- и я считаю, что cl
делает выбор, какой режим использовать, в зависимости от расширения файла. Вы используете .cpp
, и это хорошо.
Вкратце: да.
GCC тоже сделает это, поэтому ваш make-файл должен быть достаточно переносимым.