The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Bus error (core dumped)"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Bus error (core dumped)"
Сообщение от Torby emailИскать по авторуВ закладки on 13-Фев-04, 12:58  (MSK)
Всем привет !
система: FreeBSD 4.9-RELEASE

Компилю такой фрагмент в С++ :
#include iostream.h

main ()
{
  ...
    char *str = "Hello";               //к примеру
  ...
    *str = 'A';                            // к примеру
  ...
   cout << str << endl;
return 0;
}

Компилится без проблем, но при выполнении выдает: "Bus Error (core dumped)"
Пробовал компилить и выполнять на других версиях FreeBSD - таже ошибка !
Может кто подскажет, с чем это может быть связано ?
Заранее благодарен

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Bus error (core dumped)"
Сообщение от sas emailИскать по авторуВ закладки on 13-Фев-04, 17:26  (MSK)
>Всем привет !
>система: FreeBSD 4.9-RELEASE
>
>Компилю такой фрагмент в С++ :
>#include iostream.h
>
>main ()
>{
>  ...
>    char *str = "Hello";    
>          //к
>примеру
>  ...
>    *str = 'A';      
>          
>          
>// к примеру
>  ...
>   cout << str << endl;
>return 0;
>}
>
>Компилится без проблем, но при выполнении выдает: "Bus Error (core dumped)"
>Пробовал компилить и выполнять на других версиях FreeBSD - таже ошибка !
>
>Может кто подскажет, с чем это может быть связано ?
>Заранее благодарен

Привет. Вы пытаетесь изменить константу. Эта часть памяти изменена быть не может.

Успехов
--- sas

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Это всё не на C++"
Сообщение от SergeiZz Искать по авторуВ закладки on 14-Фев-04, 10:04  (MSK)
>Компилю такой фрагмент в С++ :
>#include iostream.h
Устарело.
#include <iostream>

>main ()
Не хорошо.
int main()

>{
>  ...
>    char *str = "Hello";
Это не C++, а на С...

>    *str = 'A';
Это ошибка, как уже указал sas.

>   cout << str << endl;
>return 0;
Лучше
#include <cstdlib>
...
return EXIT_SUCCESS;
>}

>Компилится без проблем,
Именно потому, что это скорее на C, чем на C++.

Пишите такое лучше, всё таки, так:
#include <string>
...
std::string s= "Hello!";
s[0]= 'A';
std::cout << s << endl;
...
Вот это на C++, а не на C.

Компилировать лучше так (в случае gcc):
g++ -Wall ... или c++ -Wall ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру