Keresés

Részletes keresés

khiraly Creative Commons License 2002.05.27 0 0 94
Egoist: azt mondtad gyakorlaton.
Te tanitasz valahol?
Vagy ez nem nyilvanos?
Előzmény: Egoist (93)
Egoist Creative Commons License 2002.05.27 0 0 93
Egy kicsit utánaszámoltam:
közel sincs 5%. Inkább 1% körül van. Vagy még kevesebb. És ez most komoly. Nem eltúlzott adat.
Előzmény: Egoist (92)
Egoist Creative Commons License 2002.05.27 0 0 92
A minél inkábbra pedig:
C++-nál.

Mivel akármilyen jó, és majdnem C sebességü is a C++, azért mégis csak majnem olyan gyors. És ez mondjuk egy kernelnél igencsak számít (méghacsak 5%-ról van szó, akkor is, de azért ennél többről van szó általában).

Szerintem full kezdő szintről néhány év, amíg értelmesen és hasznosan bele tudsz nyúlni "komolyabb" kódokba, de legalább 1 év, ha rengeteg időt rászánsz.

Én azt látom, hogy programozó szakon full kezdő szintől 1/2 év alatt szinte senki (csak ~5%) nem jut el addig, hogy egy 100 soros egyszerű feladatot megoldó programot megírjon mondjuk 20* annyi idő alatt, mint egy tapasztalt programozó.

A programozásnál nem is annyira a nyelv megismerése a fő probléma, mert ezt néhány hónap alatt megteheted, hanem a "programozói gondolkodás" elsajátítása, és az adott nyelven való gondolkodás elsajátítása.

Aműgymeg ha van egy kis időd olvasgatni, valamelyik topikban full kezdő szintről próbáltuk egyengetni Individual fejlődését C++ nyelv megismerése céljából. kb 100 hozzászólást találhatsz különböző kérdésekben az adott topikban, amiből megértheted/sejtheted, milyen problémák merülnek fel egy ilyen tanulási folyamat során.

Üdv: Ego

Előzmény: BaliHB (91)
BaliHB Creative Commons License 2002.05.27 0 0 91
Full kezdő vagyo, ismerem az if, while, do-while, szviccs, meg a hasonló cuccokat. Kb-ra értem az inklúdos dolgokat, és jelenleg egy C könyvet olvasgatok (Programozzunk C nyelven!, meg van egy Herbert Schildt: C/C++ Referenciakönyvem is, amit már kb-ra átolvasta, tahát abból a lényegen átrágtam magam, mégsem tudok megírni egy értelmes C programot).

Egyszerűen csak belekezdeni nehéz a dologba. Pascal-t az úgy nagyábol ismerem, de csak nagyon felületes szinten (ippeghogy). HTML-t már régóta tudok, de azt könnyű volt megtanulni, mert ha valami módosítottam a forráson, azt azonnal láttam a böngészőben, de ez a komolyabb programnyelvekkel nem így van.

Hogyan induljak neki? Mi lenne az, amivel meg tudnék birkózni? Mit tegyek? Eddig még egy olyan GPL programmal sem találkoztam, aminek értelmessen bele tudtam volna nyúlni a forrásába (najó 1 kivétel van. Elkezdtem magyarítani a Quake2-t, de az nem kötött le, mert nagyon primitív dolog volt és nem fejlődtem tőle semmit).

A minél inkábbra pedig:
C++-nál.

THX mindent (eddig is)

Előzmény: Egoist (79)
Egoist Creative Commons License 2002.05.27 0 0 90
És még valami: szerintem a C-röl szóló könyvek az újabb szabvány megjelenéséig nem számítanak elavultnak. Azt pedig nem 1-2 évente adnak ki. Más kérdés a Borland és egyéb változatok, ahol az újabb verzióhoz, lehet, hogy újabb könyv kell, verziókat meg váltanak 1-2 évente, de az nem C könyv, hanem Borland/Turbo/... C könyv.
Előzmény: khiraly (88)
Egoist Creative Commons License 2002.05.27 0 0 89
Erre a könyvre én azt mondtam a gyakorlaton, hogy olvasgatni szabad, mert bizonyos dolgokat tényleg könnyebb ebböl megérteni, mint a Kernighanéböl, de nem szabad túl komolyan venni. Akkor nem lesz baj.
Az egész köyvben ugyanis alig van hordozható kód. Az típusok méretét annyinak veszi, amennyi a Turbo C-ben (vagy mit tom én melyikben), a biteltoló műveletek során szerinte a felszabaduló bitek helyére 0 kerül, ...

Az általad feltett kérdésre viszont válaszol: 260. oldal.

Üdv: Ego

Előzmény: khiraly (88)
khiraly Creative Commons License 2002.05.26 0 0 88
Mar nem egy helyen lattam. Most botokat nezek(IRC), de pl az mplayer is tele van ilyenekkel, ha jol emlekszem.
Konyvben ennyit talaltam:

__DATE__ __TIME__ __FILE__ __LINE__ __STDC__

EZEK A _SZABVANYOS_ eloredefinialt makrok.
(tehat az ANSI C szabvanyban ez az _5_ van benne)

Szal sztem foleg debugnak jok ezek a makrok.

(Egoist: Nekem amit itt forgatok mint konyvet: ProgramozzunkC nyelven-Benko"-ektol.)
Nem tul sok minden van benne, de ami benne van, az jol le van irva. Bar ez meg ilyen regi MS-DOS-ra
epulo C programozas. Egy fejezet(Gafikus fugggvenyek hasznalata turbo C nyelven)40 oldalon keresztul
teljesen hasznalhatatlan. MEg a turbo pascal, es
a turbo C osszehasonlitasa is.

De 350-400 oldal hasznalhato belole.)

Az a gond ezekkel a C-s konyvekkel, hogy mar mind
elavult sajnos. Tul sok kesessel jonnek ki konyvek.
Meg olyan nincs, hogy valaki ir egy konyvet Mo-n.
Mindig leforditjak a konyveket angolbol, meg mire amerikaban is kiadjak, mar ott is el van avulva
mire leforditjak, kiadjak itthon, az mar 1-2 eves keses.

Ezert probalok programokbol tanulni.
venyek hasznalata turbo C nyelven)40 oldalon keresztul
teljesen hasznalhatatlan. MEg a turbo pascal, es
a turbo C osszehasonlitasa is.

De 350-400 oldal hasznalhato belole.)

Az a gond ezekkel a C-s konyvekkel, hogy mar mind
elavult sajnos. Tul sok kesessel jonnek ki konyvek.
Meg olyan nincs, hogy valaki ir egy konyvet Mo-n.
Mindig leforditjak a konyveket angolbol, meg mire amerikaban is kiadjak, mar ott is el van avulva
mire leforditjak, kiadjak itthon, az mar 1-2 eves keses.

Ezert probalok programokbol tanulni.

Btw Makefileban ez micsoda?:

.c.o: config.h include.h
$(CC) $(CFLAGS) -c $<

Szal a '$<' t nem ertem.

Előzmény: Egoist (87)
Egoist Creative Commons License 2002.05.26 0 0 87
Még 1 valami (bocsesz. de fáradt vagyok, és lassan jár az agyam):
az előfordító sima replacet mível. Ez valóban magába foglalhatja az üres -re való cserét is.
De azért jobban örőlnék, ha megnézhetném az ANSI C szabvány mit ír. Addigis én C alatt odaírok egy 1-est a végére, de nagyon valószínűnek tartom, hogy anélkül is jó.
Előzmény: Egoist (86)
Egoist Creative Commons License 2002.05.26 0 0 86
Most néztem meg Stroustrup C++ könyvében az állomány örszemek címszót. Ott sincs helyettesítő valami. Ezekszerint C++ -ban tuti elég ennyi. Viszont C -ben azért nem vagyok biztos, hogy teljesen szabályos, bár a gcc -Wall -ansi nem szól semmit rá. Ez általában azt jelenti, hogy OK-s a dolog. Bár a /usr/include -ban levő header file-ok odabiggyestsztenek a végére egy 1-est, és szerintem ez így logikusabb is, és ez aztán abszolút tuti jó.

Üdv: Ego

PS: Jó pap is holtig tanul.

Előzmény: Egoist (85)
Egoist Creative Commons License 2002.05.26 0 0 85
Erre én is gondoltam, de a C szintakszisa szerint:
#define azonosito token_sorozat
ill.
#define azonosito (azonosito, ... , azonosito) token_sorozat

Ezekszerint a token_sorozat magába foglalja az üres token_sorozatot is?

Előzmény: linuxuser (84)
linuxuser Creative Commons License 2002.05.26 0 0 84
khiraly,
jól ráéreztél a dologra:
#ifndef _AKARMI_
#define _AKARMI_
#endif

és később már jöhet

#ifdef _AKARMI_
programrészlet
#endif

vedd úgy, hogy üres karakter az _AKARMI_ tartalma, de már definiálva van, tehát hivatkozható.

"a linuxuser"

Előzmény: khiraly (82)
Egoist Creative Commons License 2002.05.26 0 0 83
A könyv magyarul is létezik, ALAPMŰ, ha C-ben programozol (néhány embernek nem teccik, de többségben vannak azok, akik osztják a véleményemet)

Bocsesz, de csak most vettem észre, hogy a define mögött hiányzik a "helzettesítő szöveg". így már én sem értem.

Előzmény: khiraly (82)
khiraly Creative Commons License 2002.05.26 0 0 82
Sjana de nincs.

Ize ennek majd a program kozben ad erteket?

Vagy mi van?
ilyet meg el tudnek kepzelni:
#ifdef __AKARMI__
programreszlet
#endif
Ezt ugy valahol a kozepen berakni.

Vagy nemtom, hogy mire valo.

Ize az a konyv az magyar, vagy eredetiben letezik csak(angol)??

Sajna most nem is tudnek venni(kuldondon vagyok).

Előzmény: Egoist (81)
Egoist Creative Commons License 2002.05.26 0 0 81
Van Kerninghan-féle C könyved?
Előzmény: khiraly (80)
khiraly Creative Commons License 2002.05.26 0 0 80
Hi!

Remelem valaki kisegit:
#ifndef __TOLLBOT_INTERFACE_H__
#define __TOOLBOT_INTERFACE_H__
#endif

Ezt ha valaki nekem kifejtene?
mert eloredefinialt makrok vannak(__DATE__)
De ezt vegulis hol definialja?

Ennyit talaltam az egesz forrasba.

Tehat a gond: hogy eddig a
#define-nal azt hittem, hgy igy kell:
#define szo helyettesitoszoveg

Tehat itt _nincs_ ehlyettesito szoveg/fuggveny.

Ez vegulis mire valo??

Kosz.

Egoist Creative Commons License 2002.05.26 0 0 79
Miért használják a komolyabb dolgokhoz inkább a sima C-t

Minél inkább?

Mostanában próbálok belefogni a programozásba, de elág nehézkessen megy. Ha valaki tudna pár jó tanácsot adni, hogy hogyan fogjak neki, akkor azt szivessen fogadnám.
(mostanában a Cygwin X-Box-ra való portolása izgat a legjobban, XMMS-el és Mplayerel együtt).

Ha ezt komolyan gondolod, akkor vagy tényleg most fogtál bele a programozásba, vagy már egy ideje programozol, de akkor mit jelent az, hogy most fogtál bele? Ha abszolút kezdő vagy, akkor az első tanácsom, hogy add egy kicsit alább, majd késöbb ráérsz ilyen méretű feladatokra.
Amúgymeg milyen jellegű tanácsokat vársz? Mennyire vagy kezdő? Milyen és mennyi tapasztalatod van? Mit akarsz elérni?

Üdv: Ego

PS: Nekem úgy rémlik, hogy a fejlesztők "portolták" cygwin alá is valamelyik verzióját a MPlayernek (,,csak úgy poénból").

Előzmény: BaliHB (78)
BaliHB Creative Commons License 2002.05.25 0 0 78
Szép napot mindenkinek!

Lenne pár kérdésem, úgyhogy nem is halogatom a dolgot tovább és kérdezek:
- Miért használják a komolyabb dolgokhoz inkább a sima C-t. Ha jól tudom, akkor a Kernel is C-vel készül. Megszokás, vagy van valami nyomósabb ok rá?
- Hogyan detektálja ./configure mondjuk az Mplayer esetében az X-et. Nekiálltam (mivel olyan fasza gyerek vagyok) Cygwin alatt lefordítani az Mplayer-t, de nem találta meg az X-et. Aztán a Waimea-t (window manager) is megpróbáltam Cygwin alatt lefordítani, de az sem találta meg. Nem azt kérem, hogy valaki pontosan leírja a dolgot, csak instrukciókat.

Mostanában próbálok belefogni a programozásba, de elág nehézkessen megy. Ha valaki tudna pár jó tanácsot adni, hogy hogyan fogjak neki, akkor azt szivessen fogadnám.
(mostanában a Cygwin X-Box-ra való portolása izgat a legjobban, XMMS-el és Mplayerel együtt).

NevemTeve Creative Commons License 2002.05.25 0 0 77
Lehet hogy a precompiler irja bele a definiciot a C programba.
Előzmény: ex_lx (76)
ex_lx Creative Commons License 2002.05.25 0 0 76
Ilyet se ettem még: a DB2 pár adattípust az SQLTCHAR típus felhasználásával ad meg. Gondoltam, megnézem, pontosan milyen mezítlábas C típusból jön ez ki, de hiába söpörtettem végig az mc keresőjét az egész DB2 könyvtáron (nem csak az include-on) és a rendszerheaderek mindegyiként, egyetlen fájl sem tartalmazza az "SQLTCHAR" sztringet.

Hol van megadva az, ami sehol sincs megadva?

khiraly Creative Commons License 2002.05.23 0 0 75
thx
Előzmény: Egoist (73)
NevemTeve Creative Commons License 2002.05.23 0 0 74
Tessen szives egy ilyenfajta scriptet hasznalni hozzaszolas elott:

#!/bin/sh

sed 's/&/\&amp;/g
s/</\&lt;/g
s/>/\&gt;/g' "$@"

Előzmény: khiraly (72)
Egoist Creative Commons License 2002.05.23 0 0 73
strstr
Előzmény: khiraly (72)
khiraly Creative Commons License 2002.05.23 0 0 72
Azota getopt megy rendesen.

Egy ujabb problema(azt hiszem ez lenne az uccso).

Szoval 2 sztringet kellene osszehasonlitani.
1. fr
2. hu-fr-comfruhr

Namost feladat az lenne, hogy a masodik sztringre
probaljuk meg railleszteni az elsot. Ha illik valahova(tok mindegy hova), akkor jo, ha nem, akkor valtozo=0.

A nehezseget az adja hogy az elso sztring hossza es a masodik sztring hossza is valtozhat.
Tehat valami ciklus kene.

En ezt csinaltam:
filter=0;
for(i=0;i if(filter==0){

for(j=0;j else filter=0;}
}}

Ez bugzik.
Azert is, mert a hosszabbik sztringen egyesevel vegigmegy, es megnezi, hogy illik-e ra a kisebbik sztring. De a gond ott van, hogyha a kissebbik sztring utolso betuje illeszkedik, akkor jonak veszi.

Tehat ha fr helyet ur -t adok meg, akkor az is illeszkedik.
De illszkedik a lghr is.

Szal ez igy nagyon gaz.

Valakinek lenne egy frappabs megoldasa?
(rekurziot se lenne kedvem hasznalni...)

Szal ha valakinek van egy nagyon jol bevalt modszere szivesen fogadnam....

Kosz...

Előzmény: Egoist (71)
Egoist Creative Commons License 2002.05.22 0 0 71
man 3 getopt
Kicsit bovebben ecseteli a dolgot, de ez sem viszi tulzasba.
Előzmény: khiraly (69)
Egoist Creative Commons License 2002.05.22 0 0 70
Az lehet, hogy te huje vagy, en viszont biztos.
Van 2 mailed. Az utso mar tenyleg jo progit tartalmaz. A tmp lehet, hogy felesleges, de igy tuti a dolog.

Udv: Ego

PS: ezzel remelem le van zarva a tema :)

Előzmény: khiraly (69)
khiraly Creative Commons License 2002.05.22 0 0 69
Ehh de hulye vagyok, hisz visszakuldted javitva...

Kosz ezerrel.

Valaki ismeri a getopt fuggvenyt?
while ((c=getopt(argc,argv,"+x:y:vdtchX:Y:"))!=EOF)

Itt azt nem ertem, hogy hogyan illeszti a
karaktersorhoz, magyaran nem ertem a :-ot, es az
elejen a +-t.
Link itt:
http://www.opengroup.org/onlinepubs/007908799/xsh/getopt.html

Ize szal nem fogtam fel, hogy :-tal mi van.
Kosz.

Előzmény: khiraly (68)
khiraly Creative Commons License 2002.05.22 0 0 68
Megnezned a csatolt fajlt?
Mert nekem ha ugy adom meg, akkor hulyeseget ir ki, ha a printfben 2 *-ot adok ,meg, akkor segfaultol...
Ize kijavitanad ami rossz?
es esetleg visszakuldened, mert analam 2*-gal segfault.
Előzmény: Egoist (67)
Egoist Creative Commons License 2002.05.22 0 0 67
Mail ment, azt irtam bele, amit a kezdo topikban is irtam.
Előzmény: khiraly (66)
khiraly Creative Commons License 2002.05.22 0 0 66
Egoist elkuldtem levelbe, ami nem megy nekem.
Szoavl nem tudom kiiratni.
(gondoltam nem vagom be, kicsit hosszu)
Egoist Creative Commons License 2002.05.13 0 0 65
ANSI C -beli megvalositast tudok adni. Ennek a pontossaga fugg a CLOCKS_PER_SEC erteketol, ami nalam 1000000, nalad lehet ettol eltero. (hacsak nem irtad el, akkor mikrosecundomot akarsz, azaz 1/1000000 secundumot)

void usdelay(int msec) {
clock_t a;
int t;
t = CLOCKS_PER_SEC*1.0/1000000.0*msec;
a = clock();
while( clock() - a < t );
}

Udv: Ego

Előzmény: rayn (64)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!