Хорошо, новый пользователь здесь, и у меня проблема. Я новый студент C++, и у меня нет опыта работы на этом языке (около 3 месяцев назад). Мое назначение выглядит следующим образом:Makefile, который только перекомпилирует измененные объекты?
Напишите программу, объявляющую массив darray из 50 элементов типа double. Инициализируйте массив так, чтобы первые 25 элементов были равны квадрату индексной переменной, а последние 25 элементов равны в три раза переменной индекса. Выведите массив так, чтобы напечатано 10 элементов на строку. Программа должна иметь две функции: функцию initArray(), которая инициализирует элементы массива, и функцию prArray(), которая печатает элементы.
У меня есть, что это следующим образом
#include "printArray.h"
#include "initializearray.h"
#include "Main.h"
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
double initArray();
double prArray(double arrayone[50]);
double * dArray;
int main() {
dArray[50] = initArray();
system("PAUSE");
prArray(dArray);
system("PAUSE");
return 0;
}
#include "printArray.h"
#include "initializearray.h"
#include "Main.h"
#include <iostream>
#include <string>
using namespace std;
double prArray(double arraytwo[50])
{
for (int x = 0; x < 50; x++) {
cout << arraytwo[x];
if (x = 9 || 19 || 29 || 39 || 49) {
cout << endl;
}
}
return 0;
}
#include "printArray.h"
#include "initializearray.h"
#include "Main.h"
#include <iostream>
#include <string>
int x = 0;
double arrayone[50];
double initArray()
{
for (x = 0; x < 25; x++) {
arrayone[x] = (x*x);
}
for (x = 25; x <= 50; x++) {
arrayone[x] = (x * 3);
}
return arrayone[50];
}
Теперь моя проблема заключается в том, что назначение продолжает говорить
Написать Makefile компилировать программу выше, что минимизирует перекомпиляции детали на изменения. (например, если один файл функции обновляется, перекомпилируются только необходимые файлы (файлы).) Включите чистую цель, которая удаляет скомпилированные объекты при вызове.
У меня есть основной Makefile:
CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=Main.cpp initializeArray.cpp printArray.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=Main
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o [email protected]
.cpp.o:
$(CC) $(CFLAGS) $< -o [email protected]
Теперь, что мне нужна помощь с превращает это в Makefile, который удовлетворяет условиям назначения - предпочтительно шаг за шагом инструкции, так что я могу узнать из это.
И это существующий Makefile не отвечает этим требованиям, как именно? –
@SamVarshavchik ... потому что есть довольно s отсутствует ... –
tofro
Из любопытства, почему у вас есть '$ (SOURCES)' в вашей цели? All? – WhozCraig