Forum Linux.pl

Programowanie => C/C++ => Wątek zaczęty przez: imprezes w 2005-06-12, 22:35:10

Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: imprezes w 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!
Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: bergo w 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
Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: bergo w 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

Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: Kobcio w 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
Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: maciasz w 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
Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: Kobcio w 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
Tytuł: C++ i ochrona pamieci
Wiadomość wysłana przez: bergo w 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