44 / 30 / 18
Регистрация: 15.11.2014
Сообщений: 169
|
||||||
1 | ||||||
Разные output при различных ключах компиляции18.03.2015, 17:00. Показов 668. Ответов 1
Метки нет (Все метки)
Доброго времени суток! Почему если компилировать программу командой:
Код
sudo gcc main.c -o main -Wall Код
From: admin Subject: hi Код
sudo gcc main.c -o main -g -O2 -Wall -Werror -std=c99 Код
From: admin Subject: hi (null) Условие задачи: Кликните здесь для просмотра всего текста
Чтобы показать информацию о пришедшем письме, нужно сначала её найти. Для этого в файле письма необходимо найти специальные заголовки. Составить программу построчной фильтрации текста. Суть фильтра — отбор строк, начинающихся с одного из следующих выражений: «Date:», «From:»,«To:», «Subject:». Текстовые строки подаются на стандартный ввод программы, результат программы должен подаваться на стандартный вывод. Процедура фильтрации должна быть оформлена в виде отдельной функции, которой подается на вход массив строк, выделенных в динамической памяти и его длина. На выходе функция возвращает указатель на NULL-терминированный массив с найденными строками (последним элементом массива добавлен NULL для обозначения, что данных больше нет). Программа должна уметь обрабатывать возникающие ошибки (например, ошибки выделения памяти). В случае возникновения ошибки нужно вывести в поток стандартного вывода сообщение "[error]" и завершить выполнение программы. Код программы: Кликните здесь для просмотра всего текста
Input: Код
From: admin Subject: hi Sender: admin Добавлено через 10 минут При прохождении теста в системе тестирования пишет ошибку Run-time error. Вот что выводит команда echo -n "1" | valgrind ./main Кликните здесь для просмотра всего текста
Код
maxim@maxim:~/techpark/cpp/IZ/1++$ echo -n "1" | valgrind ./main ==7163== Memcheck, a memory error detector ==7163== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==7163== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info ==7163== Command: ./main ==7163== ==7163== Conditional jump or move depends on uninitialised value(s) ==7163== at 0x4005C8: main (main.c:38) ==7163== ==7163== ==7163== HEAP SUMMARY: ==7163== in use at exit: 1,056,768 bytes in 1,025 blocks ==7163== total heap usage: 1,025 allocs, 0 frees, 1,056,768 bytes allocated ==7163== ==7163== LEAK SUMMARY: ==7163== definitely lost: 8,192 bytes in 1 blocks ==7163== indirectly lost: 1,048,576 bytes in 1,024 blocks ==7163== possibly lost: 0 bytes in 0 blocks ==7163== still reachable: 0 bytes in 0 blocks ==7163== suppressed: 0 bytes in 0 blocks ==7163== Rerun with --leak-check=full to see details of leaked memory ==7163== ==7163== For counts of detected and suppressed errors, rerun with: -v ==7163== Use --track-origins=yes to see where uninitialised values come from ==7163== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Добавлено через 12 минут UPD: Забыл освободить память. Освободил. Теперь команда echo -n "1" | valgrind ./main выводит следующее: Кликните здесь для просмотра всего текста
Код
maxim@maxim:~/techpark/cpp/IZ/1++$ echo -n "1" | valgrind ./a.out ==7293== Memcheck, a memory error detector ==7293== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==7293== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info ==7293== Command: ./a.out ==7293== ==7293== Conditional jump or move depends on uninitialised value(s) ==7293== at 0x40085F: main (in /home/maxim/techpark/cpp/IZ/1++/a.out) ==7293== ==7293== ==7293== HEAP SUMMARY: ==7293== in use at exit: 0 bytes in 0 blocks ==7293== total heap usage: 1,025 allocs, 1,025 frees, 1,056,768 bytes allocated ==7293== ==7293== All heap blocks were freed -- no leaks are possible ==7293== ==7293== For counts of detected and suppressed errors, rerun with: -v ==7293== Use --track-origins=yes to see where uninitialised values come from ==7293== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
0
|
18.03.2015, 17:00 | |
Ответы с готовыми решениями:
1
Ошибка "Could not create output file" при компиляции проекта Ошибка "Could not create output file" при компиляции проекта Разные возвращаемые значения при компиляции и отладки Разные эффекты при компиляции Debug и Release |
19.03.2015, 08:41 | 2 | ||||||||||
Объясняю. Строки 55+60:
1
|
19.03.2015, 08:41 | |
19.03.2015, 08:41 | |
Помогаю со студенческими работами здесь
2
Ошибка при компиляции "cannot open output file 780561.exe: Permission denied" Выводы при одинаковых ключах массива Переписать текст в файл output.dat , удалив из текста слова, содержащие более двух различных гласных букв Ошибка компиляции "cannot open output file GO.exe: Permission denied" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |