Перейти к содержанию

pioner

Members
  • Постов

    19
  • Зарегистрирован

  • Посещение

    Никогда

Достижения pioner

  1. Всё оказалось очень просто: функция, в которой творилось это безобразие, возвращала структуру размером примерно 5 Мб! Я стал передавать эту структуру по указателю - и ошибка исчезла.
  2. EvilShadow писал(а) Tue, 27 February 2007 20:12 Поставьте третий gcc. Многое из того, что собирается в третьем, не собирается в четвертом. Пробовал, но не смог.
  3. Набираете man 2 open, там написано - нужны #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> Вообще, по всем стандартным С-функциям в манах есть заголовки, которые для них нужны.
  4. При запуске программы происходит segmentation fault. Выдержка из сеанса gdb: Breakpoint 1, main (argc=8, argv=0x7fffffd590c8) at podgon4.c:146 146 data_init(fits_massiv,dataptr,max_mag,BINSIZE,n,n,sr[0],sr[1 ]); (gdb) x/a fits_massiv 0x7fffff8931d0: 0x773ea0 (gdb) print dataptr $1 = (FILE *) 0x7737e0 (gdb) s Program received signal SIGSEGV, Segmentation fault. 0x0000000000403926 in data_init (fits_massiv=Cannot access memory at address 0x7ffffee45b68 ) at read_files.c:771 771 data data_init(fitsfile **fits_massiv,FILE *dataptr,float max_mag,float bin_size,int nx,int ny,float sr1,float sr2){ (gdb) x/a fits_massiv Cannot access memory at address 0x7ffffee45b68 (gdb) print dataptr Cannot access memory at address 0x7ffffee45b60 Суть в следующем: перед самым вызовом функции data_init проверяем значения указателей fits_massiv и dataptr - всё нормально, под них память выделена и доступна. Но как только мы вызвали эту функцию, значения указателей становятся новыми, отличающимися на 8 (всегда, я проверял) и память в том месте, куда они указывают, недоступна. Кто виноват и что делать? Fedora Core 4 gcc 4.0.0 gdb 6.3.0.0 Кстати, под другой конфигурацией (SuSe/gcc3.3) этой ошибки не было. Как проверить, может быть, это глюк сборки gcc под мою систему?
  5. Я разобрался. Если используешь родовую (template) функцию, то нужно её не прилинковывать, а включать её исходный текст (#include).
  6. Пишу программу с родовыми функциями/классами. Вначале я в файл с функцией main (файл conv.cpp) включал (include) .cpp файл, в котором объявлены и описаны родовые классы/функции - всё прекрасно работало. Затем я решил сделать всё это цивильно, и стал сначала компилировать объектники, и прилинковывать их к main только потом (т. е. включал только заголовки, где функции объявлены, но не описаны). Тогда выдаётся ошибки: $g++ conv.cpp wfff.o wffa.o /tmp/ccbhiHFE.o(.text+0x146): In function `main': conv.cpp: undefined reference to `detctype(short)' /tmp/ccbhiHFE.o(.text+0x1f2):conv.cpp: undefined reference to ... /tmp/ccbhiHFE.o(.text+0x38a):conv.cpp: undefined reference to `Image<double>::~Image()' collect2: ld returned 1 exit status (вместо точек ещё штук 5 undefined reference) Причём сначала функция detctype была не родовой. Он её находил. Я сделал её родовой - и он перестал её находить (эти ошибки - после этого преобразования). ОС Fedora Core 4, компилятор gcc 4.0.0
  7. поробуй gcc -ansi или что-нибудь подобное с опциями gcc. В общем, man gcc.
  8. argv[2] имеет тип не char, а char*, т. е. строка. для преобразования чисел из строки есть стандартная функция atoi. man atoi и вперёд!
  9. Доброго времени суток! Думаю, не только у меня при усложнении дерева классов в tc возникает сабжевый вопрос. Если кто-нибудь его красиво и эффективно решил, просьба поделиться опытом. Имхо, все, кто может ответить на этот вопрос, не нуждаются в рассказах, что это и как работает, но тем не менее приведу несколько замечаний, которые могут помочь в размышлениях. Заодно прошу меня поправить, если что-то пропущу или скажу неточно. Итак 1. Набор правил управления трафиком строится в виде дерева. Узлами его являются пары класс/присоединенная к нему дисциплина. Каждая дисциплина (речь не идет о простейших бесклассовых дис
  10. White_Mouse писал(а) Втр, 06 Июня 2006 22:58 pioner писал(а) Втр, 06 Июня 2006 21:43 Да, кстати, у меня при подключении флешки вылезает следующее: Невозможно подсоединить выбранный том. mount: /dev/sdb1 already mounted or /media/usbdisk busy mount: according to mtab, /dev/sdb1 is already mounted on /media/usbdisk Откуда это у вас вылезает? Какой вы пользуетесь графической средой? Каким дистрибутивом? Скорее всего, это вопрос к утилите, которая автоматически монтирует флэшку. Цитата: Но потом всё работает нормально. Как сделать так, чтобы он не ругался? И как по-человечески отключить флешку? А то я её выдёргиваю, наверно, это неправильно. Чтобы по человечески ее отключить надо ее "отмонтировать" (unmount), что делается командой umount. За подробностями ее использования обращайтесь к man umount. В КДЕ отмонтировать флэшку можно также кликнув правой кнопкой на значке устройства (если в Konqueror, например, перейти на system:/media) и выбрав в меню "Безопасно отключить". Fedora 4, GNOME. С umount разобрался, спасибо. А как понять, кто автоматически монтирует флешку?
  11. Сканер - Color-page Vivid pro II, система Fedora Core 4. Производитель сказал, что этот сканер работает с SANE Plustek-backend как Optic Pro 9636T (подключается через LPT). Я установил SANE backends 1.0.17. Но scanimage -L, sane-find-scanner, sane-find-scanner -p его не находят во включенном состоянии (под рутом тоже). Что делать?
  12. Да, кстати, у меня при подключении флешки вылезает следующее: Невозможно подсоединить выбранный том. mount: /dev/sdb1 already mounted or /media/usbdisk busy mount: according to mtab, /dev/sdb1 is already mounted on /media/usbdisk Но потом всё работает нормально. Как сделать так, чтобы он не ругался? И как по-человечески отключить флешку? А то я её выдёргиваю, наверно, это неправильно.
  13. ASR(RainMan) писал(а) Втр, 23 Августа 2005 17:11 я тут прочитал, что в fc3 и fc4 флешки монтируются автоматом, типа как CD-диски,т.е. подключаешь - и они в иксах на рабочем столе появляются. Что-то у меня не получается, подскажите, где копнуть? ручками монтируюся нормально У меня в гноме, федоре 4, флешка появляется автоматически только в файловой системе, но не на рабочем столе.
  14. Хоть я и простой пользователь, но, пожалуйста, не пишите таких названий тем! Ничего же не понятно из названия!
  15. Хоть я и простой пользователь, но, пожалуйста, не пишите таких названий тем! Ничего же не понятно из названия!
×
×
  • Создать...