Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

После завершения программы, выдается не понятное сообщение...

9.6K
29 декабря 2005 года
Wilmer
48 / / 20.11.2005
Изучаю С++. Linux Slackware 10.2, Xfce 4.2.2, GCC 3.3.6/3.4.4
Написал программу, которая возводит число в степень.

Компилирую: g++ -o s st.cpp
Все в порядке, ни каких сообщений.
Запускаю программу: ./s
Программа выполняется. После завершения программы, выдается сообщение:
Цитата:
934:
934: calling fini: /usr/lib/libstdc++.so.5 [0]
934:
934:
934: calling fini: /lib/libm.so.6 [0]
934:
934:
934: calling fini: /usr/lib/libgcc_s.so.1 [0]
934:
934:
934: calling fini: /lib/libc.so.6 [0]
934:


Не могу понять, к чему относиться данное сообщение.
Программа выполнилась успешно. Файл создан. В него помещены
нужные данные. Но беспокоит сообщение.

Помогите, пожалуйста, разобраться.

Исходник программы:

Цитата:
#include <iostream>
#include <cstdlib>

using namespace std;

void term_func(void) { cout << "Happy end?\n"; }

int main() {

FILE *fp;
char *buf;

fp = fopen("st.txt","w");

int r;

for (int i=2; i<=9; i++)
{
r=1;
for (int j=1; j<=9; j++)
{
r*=i;
sprintf(buf,"%i",i);
fputs(buf,fp);
fputs("^",fp);
sprintf(buf,"%i",j);
fputs(buf,fp);
fputs("=",fp);
sprintf(buf,"%i",r);
fputs(buf,fp);
fputs("\n",fp);
}
fputs("\n",fp);
}

fclose(fp);
atexit(&term_func);

return 0;
}

2
04 января 2006 года
squirL
5.6K / / 13.08.2003
Wilmer

_fini - это функция финализции приложения, генерируемая компилятором gcc.

такой вывод связан с ошибкой в программе. выделите явно память под buf и "странный вывод исчезнет". думаю, что из-за данной ошибки сбивается стек, в который помещаются параметры динамически связанных библиотек, что и приводит к подобным последствиям.

если слинковать ELF файл статически:

g++ -static -o s st.cpp

странный вывод тоже пропадет.
9.6K
06 января 2006 года
Wilmer
48 / / 20.11.2005
squirL, спасибо за ответ.
2
06 января 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Wilmer
squirL, спасибо за ответ.


не за что... меня вопрос цепанул :) если соберусь - напишу ПОЧЕМУ так происходит.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог