Nowe posty

xx Pomoc dla Lwa (kotka) (0)
Dzisiaj o 10:42:59
xx Mulenie strony [Tylko informacja] (0)
2020-02-25, 16:36:43
xx Film Hakerzy dla wolności 2018 lektor (0)
2020-02-25, 08:47:38
xx Mageia instalacja (1)
2020-02-24, 14:43:32
xx Zlecę skrypt w bashu (0)
2020-02-19, 14:07:39
xx Nadawanie praw katalogom takich, jak nazwa usera (4)
2020-02-17, 14:15:18
xx Fedora na laptopie HP 15-bs152nw brak wifi (44)
2020-02-16, 12:17:18
xx Komputer do nauki linuxa (10)
2020-02-15, 07:03:28
xx Patronat serwisow internetowych. (1)
2020-02-13, 00:13:24
xx Xfce-terminal v 0.8.7.4 - jak ustawić wklejanie skopiowanego tekstu? (3)
2020-02-12, 18:59:24

Autor Wątek: C++ i ochrona pamieci  (Przeczytany 5885 razy)

Offline Tomek abdul Jabar

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 2
    • Zobacz profil
C++ i ochrona pamieci
« dnia: 2005-06-12, 22:35:10 »
Witam. jestem totalnym newbie :) mam takie pytanie, czy istnieje jakaś dystrybucja Linuksa z domyślnym lub nie domyślnym wbudowanym środowiskiem graficznym XPde?
Zgóry dzięki za odpowiedz!

Offline Konrad Zapałowicz

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 160
    • Zobacz profil
C++ i ochrona pamieci
« Odpowiedź #1 dnia: 2005-06-13, 07:03:25 »
Skoro najbardziej aktualna wersja Xpde to beta, a dystrybucje zazwyczaj są przygotowywane z pakietów \\"stable\\" to strzelałbym, że takowej nie ma. Ale nic nie stoi na przeszkodzie byś sobie nie mógł instalnąć ze źródełek.

Pozdrawiam,
Bergo

Offline Konrad Zapałowicz

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 160
    • Zobacz profil
C++ i ochrona pamieci
« Odpowiedź #2 dnia: 2005-06-13, 07:05:59 »
Ściągasz źródełka i robisz to:
General installation instructions:
 -Decompress the tar.gz in /usr/share as root
 -Edit the .xinitrc file of the user you want to run XPde and put this line:
 /usr/share/xpde/bin/startxpde
 -Start X


Offline Paweł Kobyliński

  • Users
  • Użytkownik
  • **
  • Wiadomości: 50
    • Zobacz profil
C++ i ochrona pamieci
« Odpowiedź #3 dnia: 2005-06-12, 21:23:20 »
Pisze juz w C++ od pewnego czasu ale cos takiego zdarzylo mi sie po raz pierwszy, mianowicie wszystko sie ladnie skompilowalo bez zadnych problemow ale gdy wloncze program, wpisze jakas cyfre ( program matematyczny) i nacisne Enter wyskakuje mi, "Naruszenie ochrony pamięci ", nie wiem co z tym zrobic ,moze kto moglby mi pomoc ?? Dziekuje z gory .

Kobcio

Offline Marcin Maćczak

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 235
    • Zobacz profil
C++ i ochrona pamieci
« Odpowiedź #4 dnia: 2005-06-12, 21:44:59 »
standardowy blad pod linuxem jak sie pisze programy :]
nikt Ci  nie pomoze dopoki nie pokazesz kodu programu
i sproboj skompilowac z opcja -Wall moze poda jakies warningi a jak nie to trza szukac recznie w kodzie :]

pozdrawiam
Maciasz

Offline Paweł Kobyliński

  • Users
  • Użytkownik
  • **
  • Wiadomości: 50
    • Zobacz profil
C++ i ochrona pamieci
« Odpowiedź #5 dnia: 2005-06-12, 21:51:52 »
Wiecie strasznie siem wyglupilem, bo juz to rozwiazalem i niepotrzebny byl ten post, ale jak juz zaczalem to skoncze,
kod programu jest taki :

#include
#include
#include
using namespace std;

main()
{
int l = 0 ;
int a = 0 ;
int p[20] ;
cout << "Podaj liczbę do przekształcenia : n";
cin >> l;
if (l == 0)
 {cout << "Wynik = 0 n";}
else if (l == 1)
 {cout << "Wynik = 1 n";}
 else {
do {
 if ((l-(l/2)*2) == 0) {
  {p[a] = 0;
   ++a;
   l = l/2;}
  }
 if ((l-(l/2)*2) > 0) {
  {p[a] = 1;
   ++a;
   l = l/2;}
 }
}
while (l >= 2);
p[a] = 1;
cout << "Wynik = ";
do {
cout << p[a];
 --a;
 }
while(a >= 0);
cout << "n";
 }
}
 wczesniej zamiast cin i cout uzywalem printf i scanf i chyba to bylo zrodlem problemu bo jak wszystko zamienilem i dodalem " using namespace std" ( swoja droga to co to jest bo dodalem to na wyczucie ) to wszystko zaczelo pasowac. A sam program sluzy do zamiany liczb z dziesiatnych na binarne.

Kobcio

Offline Konrad Zapałowicz

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 160
    • Zobacz profil
C++ i ochrona pamieci
« Odpowiedź #6 dnia: 2005-06-13, 06:44:48 »
>  wczesniej zamiast cin i cout uzywalem printf i scanf i chyba to bylo zrodlem problemu bo jak
 
Pamiętaj, że scanf trzeba przekazać adres zmiennej pod który ma podstawiać wczytaną wartość.
Jak masz:
int a
To podstawiasz do scanf:
&a

Jak podstawisz samo a bez referencji to dostaniesz naruszenie ochrony pamięci.

Pozdrawiam,
Bergo