Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
expoox
Tvůrce
Avatar
expoox:29.3.2013 22:18
#include<stdio.h>
#include<time.h>

int main()
{
 clock_t t1, t2;

 printf("name: ");
 char name[15];
 gets(name);

 t1 = clock();
 System("\"D:\\IT\\CodeBlocks\\%s.exe\"", name);
 t2 = clock();

 float diff = (((float)t2 - (float)t1)/ 1000000.0F ) * 1000;
 printf("%f",diff);

 return 0;
 }

hadze mi to chybu : undefined reference to `_System'
neviete preco to necchce vziat ? inokedy to islo bez problemov

Editováno 29.3.2013 22:19
 
Odpovědět
29.3.2013 22:18
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na expoox
Lukáš Hruda:29.3.2013 22:43

Funkce system je s malým s. Jinak pokud programuješ v C častěji, tak si nezvykej používat funkci system, je to prasárna, určitě to jde nějak vyřešit přes WinAPI.

 
Nahoru Odpovědět
29.3.2013 22:43
Avatar
expoox
Tvůrce
Avatar
expoox:29.3.2013 22:50

pane boze, uplne som zabudol ze C rozoznava velkost pismen... dakujem
inak v Ccku len zacinam preto som zatial na systeme, ale chcel by ist dalej

 
Nahoru Odpovědět
29.3.2013 22:50
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lukáš Hruda
Kit:30.3.2013 10:12

WinAPI ale běhá jen na Windows, takže se programy stanou nepřenositelnými.

Nahoru Odpovědět
30.3.2013 10:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
expoox
Tvůrce
Avatar
expoox:30.3.2013 10:32

no ok a co potom pouzivat ked chcem aby boli prenositelne ?

 
Nahoru Odpovědět
30.3.2013 10:32
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Kit
Lukáš Hruda:30.3.2013 10:39

Jelikož bude pod windows a pod jiným OS cesta k souboru uplně jiná (pod linuxem těžko bude "D:\..."), tak to multiplatformní stejně nebude.

 
Nahoru Odpovědět
30.3.2013 10:39
Avatar
Kit
Tvůrce
Avatar
Odpovídá na expoox
Kit:30.3.2013 10:44

Snažím se vazbu mezi programy dělat mimo ně. I tady by se mělo používat DI.

Nevím sice o jaký program se snažíš, ale obávám se, že sis vybral pro daný účel nevhodný programovací jazyk.

Nahoru Odpovědět
30.3.2013 10:44
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
expoox
Tvůrce
Avatar
Odpovídá na Kit
expoox:30.3.2013 10:48

no ma to meriat cas behu inej aplikacie, je dost mozne ze Ccko nieje pre toto idealny jazyk ale som len zaciatocnik takze da sa povedat ze som pokrocili v Delphi(tam mi to prislo zlozitejsie pisat), v Ccku len zacinam a iny jazyk nepoznam takze nemam velmi na vyber

 
Nahoru Odpovědět
30.3.2013 10:48
Avatar
Kit
Tvůrce
Avatar
Odpovídá na expoox
Kit:30.3.2013 10:54

Aha. Podle mne to není zrovna nejšťastnější nápad, profilování by se mělo dělat uvnitř měřené aplikace. Je to tak mnohem přesnější.

Nahoru Odpovědět
30.3.2013 10:54
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
expoox
Tvůrce
Avatar
Odpovídá na Kit
expoox:30.3.2013 10:58

aj to ma napadlo ale potom mi doslo ze by som to musel pisat do kazdej jednej aplikacie zvlast, a mne nejde o to odmerat presny cas chodu ale o porovnanie dvoch rozdielne napisanych aplikacii, teda napriklad jednu napisem s normalnymi premennymi druhu s pointermi alebo jednu v C a druhu v Pascale a skontrolujem ci tam je neaky extra rozdiel...

 
Nahoru Odpovědět
30.3.2013 10:58
Avatar
Kit
Tvůrce
Avatar
Odpovídá na expoox
Kit:30.3.2013 11:01

Mám pocit, že se snažíš o předčasnou optimalizaci. Ta, jak známo, vede do pekel.

Nahoru Odpovědět
30.3.2013 11:01
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
expoox
Tvůrce
Avatar
Odpovídá na Kit
expoox:30.3.2013 11:06

ale nie, je mi jasne ze tie moje vysledky neplatia vo vseobecnosti ...

 
Nahoru Odpovědět
30.3.2013 11:06
Avatar
Odpovídá na Lukáš Hruda
Libor Šimo (libcosenior):11.4.2013 15:19

treba tam nechať len:

...
t1 = clock();
system(name); // nie system("\"D:\\IT\\CodeBlocks\\%s.exe\"", name);
t2 = clock();
...

a zadávať úplnú cestu, napr.:
D:\IT\CodeBloc­ks\test.exe (windows),
alebo
home/tmp/test (spustiteľný súbor linux)
a bude to pracovať na win aj na linuxe.

Editováno 11.4.2013 15:20
Nahoru Odpovědět
11.4.2013 15:19
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.