Forum Linux.pl

Programowanie => C/C++ => Wątek zaczęty przez: MariuszWWA w 2005-11-04, 11:17:13

Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: MariuszWWA w 2005-11-04, 11:17:13
Siedze nad tym już od wczoraj, szukam, kombinuje i im więcej czytam tym mam większy orzech do zgryzienia. Moja dystrybucja to Slackware 10.2 a karta dźwiękowa - ISA PnP ESS1868. Chce ją zainstalować jakoś inaczej niż przez ALSA. W pliku /etc/rc.d/rc.modules zaznaczam zeby było włączone SoundBlaster Pro/16 i podczas startu wykrywa moją karte (jako isa pnp es1868) ale na końcu wyskakuje \\"can not initialize\\" czy jakoś tak. Coś czytałem ze trzeba sie posłóżyć narzędziem isapnptools ale nie wiem za bardzo w jaki sposób. Z góry dzięki za pomoc
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: j3drek w 2005-11-04, 11:31:30
Ja używałem takiej karty i z tego co pamiętam to na modułach ALSA.
Ale jak dokładnie to było skonifgurowane to nie pamiętam.

A alsaconfig jej nie wykrywa?
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: MariuszWWA w 2005-11-04, 11:38:40
2005-11-04 11:31:30 j3drek napisał:

> Ja używałem takiej karty i z tego co pamiętam to na modułach ALSA.
 > Ale jak dokładnie to było skonifgurowane to nie pamiętam.
 >
 > A alsaconfig jej nie wykrywa?
 
Wykrywać wykrywa ale ja chce ją inaczej zainstalowac (przez isapnptools). Hehe uparłem się bo mam tak że będzię lepiej działało niż na alsa.
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: chmooreck w 2005-11-04, 12:06:29
2005-11-04 11:38:40 MariuszWWA napisał:

 > Wykrywać wykrywa ale ja chce ją inaczej zainstalowac (przez isapnptools). Hehe uparłem się bo
 > mam tak że będzię lepiej działało niż na alsa.

w linuksie sa 2 systemy dzwiku OSS i ALSA...
OSS jest starszy i raczej powoli wycofywany

dlaczego nie chcesz korzystac z dobrodziejstw ALSA\\'y ?? jakies konkretne powody, czy tylko slyszales, ze bedzie chodzic gorzej ?

isapnptools nie ma zwiazku z dzwiekiem jako takim - jest to po prostu pakiet narzedzi do technologii plyg&play wprowadzonej swego czasu na magistrali ISA w celu zautomatyzowania konfiguracji parametrow sprzetu (przerwan itp. ) - tak... kiedys to wszystko ustawialo sie recznie zworkami :-)
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: MariuszWWA w 2005-11-04, 12:12:33
2005-11-04 12:06:29 chmooreck napisał:

> 2005-11-04 11:38:40 MariuszWWA napisał:
 >
 >  > Wykrywać wykrywa ale ja chce ją inaczej zainstalowac (przez isapnptools). Hehe uparłem
 > się bo
 >  > mam tak że będzię lepiej działało niż na alsa.
 >
 > w linuksie sa 2 systemy dzwiku OSS i ALSA...
 > OSS jest starszy i raczej powoli wycofywany
 >
 > dlaczego nie chcesz korzystac z dobrodziejstw ALSA\\'y ?? jakies konkretne powody, czy tylko
 > slyszales, ze bedzie chodzic gorzej ?
 >
 > isapnptools nie ma zwiazku z dzwiekiem jako takim - jest to po prostu pakiet narzedzi do
 > technologii plyg&play wprowadzonej swego czasu na magistrali ISA w celu zautomatyzowania
 > konfiguracji parametrow sprzetu (przerwan itp. ) - tak... kiedys to wszystko ustawialo sie
 > recznie zworkami :-)

Nie wiem, jakoś sobie wbiłem do bani że to co starsze będzie lepsze dla mojej rakiety (Celeron 300, 160ram), ale skoro mówicie zebym korzystał ze sterowników ALSA to chyba tak zrobie...
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: MariuszWWA w 2005-11-04, 12:26:29
Aha tak przy okazji chciałem jeszcze o coś zapytać, bo na płycie gł. mam jeszcze wbudowaną karte dźwiękową 3D SOUNDPRO (SoundPro HT1869V+ Zgodna ze standardem  PC97/98  3D zgodne z HRTF akceleracja Direct 3D Sound i z Aureal 3D    programowy syntezator Wavetable). Czy ta wbudowana karta będzie lepsza od tej ESS1868?
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: chmooreck w 2005-11-04, 12:27:44
2005-11-04 12:12:33 MariuszWWA napisał:

 > Nie wiem, jakoś sobie wbiłem do bani że to co starsze będzie lepsze dla mojej rakiety (Celeron
 > 300, 160ram), ale skoro mówicie zebym korzystał ze sterowników ALSA to chyba tak zrobie...

tak mowimy... to co jest nowsze zwykle jest bardziej zoptymalizowane, ma usuniete wiecj bledow (i wiecej zaimplementowanych - ale to sie wytnie ;-) ) i ogolnie powinno dzialac lepiej ;-)
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: MariuszWWA w 2005-11-04, 18:21:02
2005-11-04 12:27:44 chmooreck napisał:

> 2005-11-04 12:12:33 MariuszWWA napisał:
 >
 >  > Nie wiem, jakoś sobie wbiłem do bani że to co starsze będzie lepsze dla mojej rakiety
 > (Celeron
 >  > 300, 160ram), ale skoro mówicie zebym korzystał ze sterowników ALSA to chyba tak
 > zrobie...
 >
 > tak mowimy... to co jest nowsze zwykle jest bardziej zoptymalizowane, ma usuniete wiecj bledow
 > (i wiecej zaimplementowanych - ale to sie wytnie ;-) ) i ogolnie powinno dzialac lepiej ;-)


Aha tak przy okazji chciałem jeszcze o coś zapytać, bo na płycie gł. mam jeszcze wbudowaną karte dźwiękową 3D SOUNDPRO (SoundPro HT1869V+ Zgodna ze standardem PC97/98 3D zgodne z HRTF akceleracja Direct 3D Sound i z Aureal 3D programowy syntezator Wavetable). Czy ta wbudowana karta będzie lepsza od tej ESS1868?
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: FROGER w 2005-11-04, 09:48:58
Jak w tytule.
Gdy probuje utworzyc dynamicznie tablice w ten sposb:

int *tab = new int ;

to jest ok

a gdy probuje :

int *tab2 = new int[D];

to program sie juz nie chce skompilowac.
Bardzo potrzebne mi sa dane na temat tworzenia takich  tablic. Szukalem juz w google ale niestety nic nie znalazlem :(.
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: chmooreck w 2005-11-04, 10:12:37
2005-11-04 09:48:58 FROGER napisał:

> Jak w tytule.
 > Gdy probuje utworzyc dynamicznie tablice w ten sposb:
 >
 > int *tab = new int ;
 >
 > to jest ok
 >
 > a gdy probuje :
 >
 > int *tab2 = new int[D];

no to jaki typ tu ma tab2 ?

poza tym nie ma operatora new obj [][] jest tylko new obj []

rozwiazanie:

int ** tab2 = new int*;
for(int i = 0; i = new int[D];
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: bizonek w 2005-11-04, 10:26:29
nie zapomnij o zniszczeniu dynamicznej tablicy 'delete nazwa_tablicy'
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: chmooreck w 2005-11-04, 10:41:51
2005-11-04 10:26:29 bizonek napisał:

> nie zapomnij o zniszczeniu dynamicznej tablicy 'delete nazwa_tablicy'

no i zostaja ci smieci... ;-)

zwolnienie takiej tablicy:
for(int i = 0; i;
delete[] tab2;
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: FROGER w 2005-11-04, 10:56:13
OK. To tablica juz jest utworzona. Teraz jak na niej operowac?

gdy probuje cos takiego:

tab2[x1][x2] = 3;

to nie kompiluje sie. wyskakuje takowy blad:

prog.cpp: In function `int main()':
prog.cpp:44: error: invalid types `int[int]' for array subscript
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: chmooreck w 2005-11-04, 12:30:04
a na pewno masz deklaracje zmiennej:

int **tab;

??

jakos u mnie
  tab[0][0] = 1;
przechodzi ;-) - specjalnie sprawdzilem...
Tytuł: Dynamiczne tworzenie wielowymiarowych tablic w C++
Wiadomość wysłana przez: FROGER w 2005-11-05, 08:31:32
2005-11-04 12:30:04 chmooreck napisał:

> a na pewno masz deklaracje zmiennej:
 >
 > int **tab;
 >
 > ??
 >
 > jakos u mnie
 >   tab[0][0] = 1;
 > przechodzi ;-) - specjalnie sprawdzilem...

Sory - moja literowka. Problem rozwiazany