Как связать файлы на C с Visual Studio 2022C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как связать файлы на C с Visual Studio 2022

Сообщение Anonymous »

Привет, Stackoverflowers!
Несколько дней назад я установил Visual Studio 2022, но меня ошеломило огромное количество доступных опций, а также онлайн-документация по адресу https://learn.microsoft.com/en-us/documentation/.
Я разрабатывал приложение на C, которое имеет один большой файл и относительно короткий заголовочный файл в Visual Studio 2019, и переместил код до версии 2022 года. Заголовочный файл содержит различные включения, определения, объявления глобальных переменных и т. д., а также объявления прототипов функций. Главный файл содержит основную функцию, за которой следуют функции, которые она вызывает. Однако основной файл становится слишком длинным для управления, и я бы предпочел иметь в этом файле только главную функцию, а вызываемые ею функции - в одном или нескольких отдельных файлах. Проблема в том, что я не знаю, как связать файлы вместе, чтобы создать исполняемый файл. Я могу сделать это с помощью командной строки в Linux, но не знаю, как настроить Visual Studio для связывания исходных файлов и компиляции их в один файл «.exe».
Вместо того, чтобы пробовать это с приложением, над которым я работаю, я создал очень простую тестовую программу, чтобы опробовать это.
Код в основном файле «main.c» просто:

Код: Выделить всё

#include 

void func1();
void func2();

int main() {
printf("Output from main\n");
func1();
return 0;
}
Где в этом файле также находятся объявления прототипа и включение.
Код во втором файле «functions.c» с функциями просто:

Код: Выделить всё

void func1() {
printf("func1 called from main\n");
func2();
}

void func2() {
printf("func2 called from func1\n");
}
Это, конечно, работает, если функции находятся в основном файле после основной функции, но я не могу найти, как связать код, если они находятся в отдельных файлах. Кстати, использование включения для этого не работает и в любом случае не рекомендуется.
Нужно ли мне использовать CMAKE для связывания файлов, и если да, то как это сделать? Если IDE можно каким-то образом настроить для связывания файлов в этом очень простом примере без использования CMAKE, как это сделать?
Если я могу связать файлы в этом простом тексте, то мое приложение можно реорганизовать, чтобы поместить функции в один или несколько отдельных файлов и сохранить основную функцию в отдельном файле. Просматривая онлайн-документацию, в том числе несколько видеороликов на YouTube, я не увидел, как это сделать.
Все это также относится и к коду на C++.
Заранее большое спасибо за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/712 ... tudio-2022
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»