Как разделить код на несколько файлов?

Adolf_Balalaykin
Offline
Зарегистрирован: 01.02.2021
Для удобства хочу разделить код и разместить куски в разных файлах. Итак, есть файл с кодом main.cpp, т.е условно для нас это главный файл. Создаем второй файл с названием second.h, куда перемещаем часть кода из файла main.cpp В главном файле, подключаем вторую часть кода #include <seсond.h>. Как разложить на два куска функцию setup, если дублирование функций в разных файлах недопустимо? 
 
Например, есть main.cpp
void setup(){
// Первый кусок кода
}

{
Второй кусок кода
}
Надо сделать так
main.cpp
#include <seсond.h>

void setup(){
// Первый кусок кода
}

Файл second.h

void setup(){
{
Второй кусок кода
}

Говоря русским языком, необходимо что бы при компиляции произошло корректное сращивание функции setup из двух файлов.

 

b707
Offline
Зарегистрирован: 26.05.2017

Adolf_Balalaykin пишет:

Говоря русским языком, необходимо что бы при компиляции произошло корректное сращивание функции setup из двух файлов.

 

сделать две функции setup, setup_1() в одном файле, setup_2() во втором.

А в основном коде просто вызвать эти две функции в нужном порядке

void setup() {
.....
setup_1();
setup_2();
.....
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Adolf_Balalaykin пишет:

Как разложить на два куска функцию setup

Никак.

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Это могло бы стать прорывом в индустрии "объединения скетчей" 8-)

b707
Offline
Зарегистрирован: 26.05.2017

Rumata пишет:

Это могло бы стать прорывом в индустрии "объединения скетчей" 8-)

ой нет, дай дураку хрустальное яйцо :) Столько вопросов было бы :)

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:
ой нет, дай дураку хрустальное яйцо :)

Дураку даже стальные шарики давать нельзя. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

b707 пишет:
ой нет, дай дураку хрустальное яйцо :)

Дураку даже стальные шарики давать нельзя. 

было дело, приносили в ремонт монитор трубочный, клиент попробовал пробьёт пистолет  на СО2 стальным шариком, или нет )))

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Adolf_Balalaykin пишет:

Для удобства хочу разделить код и разместить куски в разных файлах. Итак, есть файл с кодом main.cpp, т.е условно для нас это главный файл. Создаем второй файл с названием second.h, куда перемещаем часть кода из файла main.cpp В главном файле, подключаем вторую часть кода #include <seсond.h>. Как разложить на два куска функцию setup, если дублирование функций в разных файлах недопустимо? 
 
Например, есть main.cpp
void setup(){
// Первый кусок кода
}

{
Второй кусок кода
}
Надо сделать так
main.cpp
#include <seсond.h>

void setup(){
// Первый кусок кода
}

Файл second.h

void setup(){
{
Второй кусок кода
}

Говоря русским языком, необходимо что бы при компиляции произошло корректное сращивание функции setup из двух файлов.

 

Ты пишешь в Arduino IDE? Вынеси функции в отдельные .ino файлы (лучше объявить их в главном .ino файле), не запрещается и библиотеки сделать. Зачем такие «заморочки»?

Adolf_Balalaykin
Offline
Зарегистрирован: 01.02.2021

b707 пишет:
сделать две функции setup, setup_1() в одном файле, setup_2() во втором.

А в основном коде просто вызвать эти две функции в нужном порядке

void setup() {
.....
setup_1();
setup_2();
.....
}

Ларчик открывался просто, сработало! В петле по аналогии.

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

DetSimen пишет:

b707 пишет:
ой нет, дай дураку хрустальное яйцо :)

Дураку даже стальные шарики давать нельзя. 

ачё со стальнымито буит???

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

-NMi- пишет:

ачё со стальнымито буит???

Один сломает, другой - потеряет.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Adolf_Balalaykin пишет:

Ларчик открывался просто, сработало! В петле по аналогии.

Так Вам не надо было setup на две части делить, а достаточно две другие функции завести. А чего мозг выносили?

Adolf_Balalaykin
Offline
Зарегистрирован: 01.02.2021

BOOM пишет:

Ты пишешь в Arduino IDE? Вынеси функции в отдельные .ino файлы (лучше объявить их в главном .ino файле), не запрещается и библиотеки сделать. Зачем такие «заморочки»?

В VSC+Platformio. Ну так и вынес функции в отдельные файлы.

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

ЕвгенийП пишет:

Один сломает, другой - потеряет.

Еще и лоб себе рассшибёт ими

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

-NMi- пишет:

DetSimen пишет:

b707 пишет:
ой нет, дай дураку хрустальное яйцо :)

Дураку даже стальные шарики давать нельзя. 

ачё со стальнымито буит???

В России тогда будет больше чем две беды: дураки , дороги и стальные шарики.

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019

Пользуясь случаем разрешите поблагодарить за http://arduino.ru/forum/programmirovanie/klassy-arduino-po-qwone-dlya-chainikov#comment-294403 для меня оказалось чрезвыычайно полезным. Спасибо Вам и всем остальным кто "мечет бисер знаний своих"

-NMi-
Offline
Зарегистрирован: 20.08.2018

Alexey_Rem пишет:

 Спасибо Вам и всем остальным кто "мечет бисер знаний своих"

Двай яте шарег миталличесгий падганю, спаваротнай пилатформы, сламашъ иво примне???