есть проблема, возможно достаточно простая, но так как под линукс я програмирую совсем недавно, никак не могу ее решыть есть makefile который собирает бинарник из 3 файлов myLab.cpp myLinThread.h myLinThread.cpp
в файле myLinThread.cpp есть получение времени работы потока собственно
void *funct (void *args)
{
sParam *params= (sParam *)args;
long double & begin=params->begin;
long double & end=params->end;
myLinThread ¤tThread = *(params->s_thread);
long double s,si,y,eps=0.0001;
//вот здесь похоже проблема
clock_gettime(CLOCK_REALTIME, ¤tThread.m_startTime);
for(long double x=begin;x<end;x+=step)
{
y=pow((1+x),-1.0);
s=1;
si=x;
while(fabs(y-s)>=eps)
{
s-=si;
si=si*x*(-1.0);
}
cout<<"x: "<<x<<" y: "<<y<<" f(x): "<<s<<endl;
}
//и соотвествено вот здесь, без этих двух строк, все работает //хорошо. С ними же вылетает Segmentation fault я пытался как //то проверить значение переменных с помощью gdb
//но как уже говорилось я пока нуб в линуксе, и я получаю //ошыбкуReading symbols from /home/andrew/LABOS8/LABOS8...(no //debugging symbols found)...done.
//изза этого (как мне кажеться) я не могу, получить доступ ни //к одной переменной с помощью print
clock_gettime(CLOCK_REALTIME, ¤tThread.m_endTime);
}
сам мейкфайл
TARGET=$(shell basename `pwd`)
SOURCES=$(wildcard *.cpp)
OBJECTS=$(SOURCES:%.cpp=%.o)
all: $(TARGET)
$(OBJECTS): $(SOURCES)
$(TARGET): $(OBJECTS)
$(CXX) -o $(TARGET) $(LDFLAGS) $(OBJECTS) $(LOADLIBES) $(LDLIBS) -lpthread -lrt -Wall -D_REENTRANT
clean:
$(RM) $(OBJECTS) $(TARGET)
.PHONY: all clean