Как в функцию main вызвать функцию из другого .c файла
Как передать функцию из другого класса в функцию glutSpecialFunc() которая находится в main?
В программе которая двигает нарисованную мною фигуру в OpenGl, есть функция регистрации нажатия.
Как в React в onclick вызвать функцию из другого файла
Допустим у меня есть файл heder.js import React, < Component >from ‘react’; import.
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
Нужно, чтобы в состав проекта входили оба этих файла, main.c, second.c
Состав проекта в каждой ИДЕ указывается по-своему, но обычно довольно очевидным образом.
Меню пользователя @ |
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Как вызвать функцию из .h в main ?
Здравствуйте! Помогите решить проблему. У меня есть много маленьких подзадачек в виде функций.
Как вызвать функцию из функции main?
работаю в деве. предположим я создал проект, изначально в нем находится файл main.cpp. предположим.
Транспонирование — как вызвать функцию из main
Вроде всё правильно но выдаёт ошибку Unresolved external ‘_main’ referenced from C:\PROGRAM.
Вызвать php функцию из другого файла и получить ответ
Добрый день/вечер, такой вопрос: есть php файл в котором лежат куча разных функций, и есть второй.
Или воспользуйтесь поиском по форуму:
как вызвать функцию из другого файла js
Для вызова функции из другого файла js необходимо сначала загрузить этот файл в текущий скрипт. Это можно сделать с помощью тега в html файле, где вы хотите вызвать функцию. Например, если у вас есть файл functions.js , который содержит функцию myFunction , то вам нужно добавить следующий тег в html файл:
src="functions.js">
После этого вы можете вызвать функцию myFunction в текущем скрипте. Например:
myFunction();
Если вы хотите вызвать функцию из другого файла js внутри модуля (ES6 и выше), вы можете использовать ключевое слово import . Например, если у вас есть файл functions.js со следующим содержимым:
export const myFunction = () => console.log('Hello world!'); >;
Тогда вы можете импортировать функцию myFunction в другом файле js следующим образом:
import myFunction > from './functions.js'; myFunction();
Важно отметить, что для использования import и export вам нужно использовать модульный формат файла js (ES6 и выше), а также ваш файл js должен быть загружен в браузер с помощью тега .
Как вызвать функцию из другого файла c
Если программа содержит много кода, то более оптимально было бы разнести отдельные части кода по отдельным файлам. Например, одни функции могут храниться в одном файле исходного кода, другие функции — в другом файле.
Например, определим файл sum.cpp , который будет иметь следующий код:
int sum(int a, int b)
Это функция вычисления суммы чисел.
Добавим еще один файл — sum.h , который будет содержать объявление функции sum:
int sum(int, int);
И также определим главный файл, который назовем app.cpp :
#include #include "sum.h" // подключаем файл sum.h int main() < int result < sum(5, 4)>; std::cout #include "sum.h"
Файл sum.h еще называется заголовочным файлом (header file), так как содержит объявление, заголовок функции. ПРичем в данном случае предполагается что все файлы располагаются в одном каталоге:
Можно было бы и не подключать файл sum.h и вообще не создавать его, а объявление функции поместить непосредственно в файл app.cpp. Но при изменении функции может потребоваться изменить и ее объявление. И если функция sum используется в нескольких файлах с исходным кодом, то в каждом из этих файлов придется менять ее объявление. В данном же случае достаточно изменить объявление функции в одном файле — sum.h.
При компиляции через g++ необходимо передать все файлы через пробел компилятору:
g++ app.cpp sum.cpp -o app
То же самое верно и для компиляции через Clang::
clang++ app.cpp sum.cpp -o app.exe
На выходе будет сгенерирован единый файл app.
При работе в Visual Studio заголовочные файлы обычны помещаются в каталог «Headers»:
А при компиляции все файлы автоматически компилируются в один.
Воспользоваться функцией из другого cpp/h файла
Во-первых, в .h -файлах нет никаких функций. Это просто кусок текста, вставляемый перед компиляцией вместо соответствующих директив #include . Соответственно, с точки зрения компилятора нет никакой разницы, включили ли вы заголовочный файл или просто взяли и скопировали его содержимое в свой .cpp руками.
То есть для решения вашей задачи нет разницы между заголовочным файлом с объявлением функции:
#pragma once void foo(int bar);
#include "decl.h" int main() < foo(21); // Использование функции >
#include "decl.h" void foo(int bar) < // Реализация функции >
и повтором объявления в каждом .cpp -файле, которому нужна эта функция:
void foo(int bar); int main() < foo(21); // Использование функции >
void foo(int bar) < // Реализация функции >
Во-вторых, .cpp -файл — это «вещь в себе», чёрный ящик с двоичными данными и списком того, что этот ящик импортирует/экспортирует, и по каким байтовым смещениям в вышеуказанных данных это требуется/реализуется соответственно:
- Если в .cpp -файле производится обращение к чему-то, нереализованному в этом файле, и у компилятора есть объявление (то есть прототип для проверки корректности обращения), генерируется импорт этого чего-то по имени.
- Если в .cpp -файле объявляется не- static переменная либо функция (методы классов, кстати, тоже полноценные функции), генерируется экспорт.
И только потом, на этапе компоновки производится связывание соответствующих импортов и экспортов этих «чёрных ящиков» (а также подобных «ящиков», составляющих реализацию стандартной библиотеки).
Отслеживать
ответ дан 19 окт 2017 в 21:25
Arhadthedev Arhadthedev
11.5k 8 8 золотых знаков 43 43 серебряных знака 70 70 бронзовых знаков
Общий принцип — объявление ( void sort_mass(int*, int); ) должно быть доступно в момент использования для успешной компиляции (поэтому их обычно располагают в заголовочных файлах, включаемых в другие файлы.
Определение (тело функции) необходимо во время компоновки, и должно быть (если это не inline или static функция) единственным в программе. Поэтому, если оно находится в отдельном файле, этот файл должен быть скомпилирован и скомпонован с основной программой (включен в проект).
Такой файл может включаться в уже скомпилированном виде (как объектный файл или в составе библиотеки).
Отслеживать
ответ дан 15 окт 2017 в 13:12
222k 15 15 золотых знаков 120 120 серебряных знаков 234 234 бронзовых знака
Вы вызываете ее не «оттуда». Вызывается код функции, до компоновки находящийся в другом файле. А чтобы компилятор мог это сделать, ему нужно знать, что такая функция — с данным именем и параметрами — существует. Это как бы обещание 🙂 — мол, вызывай, не бойся — компоновщик найдет, что именно вызывать.