Hozzászólások
-
SzerzőBejegyzés
-
„minden programodhoz (ami pénzért árulsz, ha van/lenne ilyen) mellékeled a forráskodót?”
Igen, de ez nem egyértlmû. Ha szoftvert rendel vki, akkor mindenképpen, de ha szolgáltatás szintû megoldást, akkor nem, de ez licenszben is különbözik.„fogyasztói idiotizmus”
Ha szorfvert rendel vki és nem kapja meg a forráskódot, akkor az átverés, mivel a terméknek csak egy része kerül átadásra. Inkább határozatlan idejû bérletnek minõsül szerintem.IBM S/390, minden gond nélkül megy.
Az /etc/modules.conf-ba írd be:
alias sound-slot-0 au8830Egy kis példa az SSE jobb megértéséhez (csak az érdekesség szintjén 🙂 ) :
test.c:
int main ()
{
float a, b;
a = 1.0;
b = 2.0;
a += b;
printf(„a: %fn”, a);
}gcc test.c (66 byte):
00000000 [main]:
push %ebp
mov %esp,%ebp
sub $0x8,%esp
and $0xfffffff0,%esp
mov $0x0,%eax
sub %eax,%esp
movl $0x3f800000,0xfffffffc(%ebp)
movl $0x40000000,0xfffffff8(%ebp)
flds 0xfffffffc(%ebp)
fadds 0xfffffff8(%ebp)
fstps 0xfffffffc(%ebp)
sub $0x4,%esp
flds 0xfffffffc(%ebp)
lea 0xfffffff8(%esp,1),%esp
fstpl (%esp,1)
push $0x0
call 3a [main+0x3a]
add $0x10,%esp
leave
retgcc -O3 -fomit-frame-pointer -mcpu=pentium4 -march=pentium4 -mfpmath=sse test.c (38 byte):
push %ebp
mov %esp,%ebp
sub $0x18,%esp
and $0xfffffff0,%esp
movsd 0x0,%xmm1
movsd %xmm1,0x4(%esp,1)
movl $0x0,(%esp,1)
call 1f [main+0x1f]
mov %ebp,%esp
pop %ebp
ret„Normál grafikus alkalmazásoknál az SSE be sem kapcsol, nem??? „
Mi az hogy be sem kapcsol? Ez így teljes zagyvaság. Az SSE a processzor utasításkészlet-bõvítése, fixen be van drótozva. Egy szoftver vagy használja, vagy nem. A gcc-vel fordítva megadod az ‘-fpmath sse’ opciót, akkor az összes lebegõpontos mûvelet a sokkal gyorsabb SSE utasításokkal fog mûködni. Architektúrális optimizációval együtt (-march athlonxp) pl. az aqsis (3D renderelõ) 60%-ot is gyorsul az -O2 -höz képest.„Ez egy téveszme A 386 meg a 486-s idõkben ez télleg így volt, de manapság nincs rá semmi szükség sem semmi!!!”
Aki nem ért hozzá, annak tényleg semmi. Egy disztrib kernelébe szinte minden baromség bele van fordítva, így egy megfelelõen fordított kernellel – ha nem is túl sok – de elérhetõ gyorsulás (bár ez inkább a gcc-nek köszönhetõ).„Ennyi erõvel az Xfree csomagot vagy a glibc-t ís újrafordíthatnád azzal is lehetne valamit nyerni …”
Valamit??? Egy SSE-s forsítással úgy 30-40%-os gyorsulást is el lehet érni. Ez az XFree-nél és a libc-nél is sokat jelent (persze p4 vagy AthlonXP kell hozzá).„Meg kell várni a stabil 2.6-s ágat amiben már Molnár Ingo ütemezõje is benne van amivel az egyprocis gépeken állítolag 8-10% sebesség növekedés érhetõ el….”
Ez így nem teljesen igaz. Ingo ütemezõje több procinál és sok aktív procssznél érvényesül, egyébként nincsen szinte semmi hatása. Az új VM-nek és a bio-nak (block layer) köszönhetõen az áltagos gépek esetében érezhetõ a gyorsulás, de sok RAM-mal már ez sem szamottevõ. Ami viszont új, az a global lock hiánya, a low latency, preemptive megoldás és a bio-nak köszönhetõ válaszidõ-gyorsulás.Esetleg hiányzik az /etc/modules.conf fájlból egy sor (a doksiban szerepel):
alias sound-slot-0 nvaudioRoot-ként írd be:
# /sbin/modprobe nvaudio
Ha nincs hibaüzenet, akkor mennie kellene.Elõször meg kellene keresni a hibát:
1. Meg kellene nézni egy mixert, ha nem megy akkor kellene a hibaüzenet.
2. Kellene a root-ként kiadott
# /sbin/lsmod
kimenete.
3. A /var/log/messages fájlban lehetnek lényeges hibaüzenetek.„
A kernel 2.4.20-17-es volt, tehát nem 2.5-ös. Ez az UHU-Linux kernelje
A fordítási „hibák” (warning) a 3.2.2-es UHU-s gcc miatt van, tegyél fel egy 2.95.3-as gcc-t (mint már írtam), azzal gondnélkül le fog fordulni.
amit azért akartam újrafordítani, mert sokan írták, hogy úgy jobb.
Látom, szakértõvel vitatkozom.
Egyébként meg tudom, hogy mi az az ANSI. Az stdio.h, a time.h és az errno.h is ANSI C header fil-ok. Az stdio.h file nem ANSI C++ állomány, úgy mint az errno.h, de a legtöbb C++ fordító egyben C fordító is, ezér benne szokott lenni, és windows és dos alatt mûködni is szokott.
Hát, szó ami szó, ezt jól megaszondtad. Sajnos nekem kell felviládosítanam, ANSI C++ nem létezik, csak ISO/IEC 14882 (ez a C++ szabványszáma). Egyébként az ANSI az Amerikai Nemzeti Szabványügyi Hivatal, aminek a szabványai a világ más tájain max. csak ajánlás. Az ISO szabványok viszont világszabványok. Aztán meg a C++-ban nincsen stdio.h még nem szabványosan sem, helyette más van (iostream, fstream, stb), és az errno.h helyett kivételkezetés van.
De amit írtam, abban nem ez volt a lényeg
Ezt mindjárt goldoltam…
a Klyx hibásnak találta a gcc-vel telepített stdio.h és time.h állományt.Tudja valaki, hogy ez miért van? Elõfordult ez már mással is?
Mármint annál is, aki tud programozni?
-
SzerzőBejegyzés