Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > программа не работает если компилирую майкфайлом


Автор: LisAnd 3.8.2009, 14:24
 Я пишу библиотеку и у меня при выполнении программы стали возникать ошибки памяти после добавления в программу простых вещей таких как добавление новых переменных или вывод информации в файл. 
Компилировал всегда с помощью Makefile. 
Попробовал этот сделать вручную и ошиби исчезли.
Конечно первое подозрение все таки на код программы, но тогда не понимаю вчем тогда связь как компилировать.
Библиотека для обмена данными через протокол UDP и я использую два Makefile отдельно для клиента и сервера.
Вот Makefile для клиента:
Код

Comp:=g++

cltUDP: client.o  libprotokolUDP.so
    $(Comp) -o cltUDP client.o -L. -lprotokolUDP

client.o: client.cpp 
    $(Comp) -c client.cpp

libprotokolUDP.so: protokolUDP.o
    $(Comp) -shared -o libprotokolUDP.so protokolUDP.o

protokolUDP.o: protokolUDP.cpp
    $(Comp) -fPIC -c protokolUDP.cpp

clean:
    rm -f *.a *.o binary

Вот Makefile для сервера:
Код

Comp:=g++

servUDP: server.o  libprotokolUDP.so
    $(Comp)  -o servUDP server.o -L. -lprotokolUDP

server.o: server.cpp 
    $(Comp) -c server.cpp

libprotokolUDP.so: protokolUDP.o
    $(Comp) -shared -o libprotokolUDP.so protokolUDP.o

protokolUDP.o: protokolUDP.cpp
    $(Comp) -fPIC -c protokolUDP.cpp

clean:
    rm -f *.a *.o binary

А вот коминды которые набирал в консоле:
Код

g++ -fPIC -c protokolUDP.cpp -o protokolUDP.o
g++ -shared -o libprotokolUDP.so  protokolUDP.o
g++  -c cltUDP client.cpp -L. -lprotokolUDP
g++  -c servUDP server.cpp -L. -lprotokolUDP

Подскажите может это быть из-за Makefile или нет.

Автор: xvr 3.8.2009, 14:32
Не должно. Натравите valgrind на свою программу (на обе)

Автор: LisAnd 3.8.2009, 15:03
В архиве текст библиотеки protokolUDP.cpp, клиентская программа client.cpp и сервер server.cpp

Автор: LisAnd 3.8.2009, 15:04
В архиве текст библиотеки protokolUDP.cpp, клиентская программа client.cpp и сервер server.cpp

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)