Anonymní profil Honza – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Honza – Programujte.comAnonymní profil Honza – Programujte.com

 

Příspěvky odeslané z IP adresy 195.113.241.–

C / C++ › Nespuštení programu
16. 1. 2016   #207971

#5 Jiří Šlechta
Ono takhle bez znalosti inkriminovaného programu opravdu těžko soudit. Osobně bych zkusil v hlavní smyčce aplikace (pokud se jedná o desktopovou appku) zakomentovat volání všech metod, které něco dělají po startu a pak je postupně odkomentovávat a zjistit tak viníka.

Aplikace se třeba může hned po spuštění snažit někam něco zapsat a zatímco na Win 7 na to má všechna potřebná práva, na Win 10 ne a potichu spadne ještě předtím, než vykreslí svoje UI.

Tento postup ale bude dost zdlouhavý a určitě by se vyplatilo obstarat si na chvíli kopii Win 10 s nainstalovaným Visual Studiem a spustit to rovnou v debug módu...

C / C++ › Nespuštení programu
15. 1. 2016   #207968

Takhle dost těžko říct. Mě třeba kdysi jeden program neprošel přes SmartScreen a chovalo se to dost podobně. Zkusil bych napřed stejným způsobem zkompilovat a následně spustit nějakou Hello world! aplikaci a pokud ta půjde, tak se asi zaměřit na ty sdílený knihovny...

C / C++ › funkce s parametrem pole
24. 2. 2013   #172033

#7 KIIV
Jasně, to jsem přesně chtěl, akorát to neumím zapsat :)

Pokus/omyl mi vyplivl tuto variantu: 


//volám takto 
double* output_frame_final = elim(...);


//metoda:
double* elim(...){
...
double *pointer_frame = &output_frame.value;
...

return pointer_frame;
}

Jdu zkusit, zda to dělá i to co chci :)

C / C++ › funkce s parametrem pole
24. 2. 2013   #172031

#5 KIIV
output _frame_final chci, aby byl pointer, který ukazuje na začátek pole output_frame.value, myslel jsem, že tím double* mu řeknu, že je to pointer typu double.

pointer je tedy většího typu? Myslel jsem že pointer je (nebo musí) být stejného typu jako proměnná na kterou ukazuje. Asi to moc nechápu.

C / C++ › funkce s parametrem pole
24. 2. 2013   #172024

Mimochodem, tak nachápu proč mi nejde funkce vracející pole.Když bych to udělal, tak jak si myslím, i podle předchozí odpovědi, tak mi to hází chybu, že očekává typ float a já mám všude double, což nevím proč mu vadí. 

//frame je struktura s dvěma poli typu double (value a location).
//volám takto 
double* output_frame_final = elim(...);


//metoda:
double elim(...){

...

return (double)output_frame.value;
}

Pokouším se z metody dostat strukturu. Tak jsem chtěl zkusit vrátit ukazatel na začátek struktury.

C / C++ › funkce s parametrem pole
24. 2. 2013   #172015

#2 Radek Chalupa

Bezvadný, děkuji.

Chápu tedy správně, že "double* pole" znamená ukazatel na pole typu double a "*(pole+i)" je hodnota v paměti na adrese kam ukazuje pole+i? A vlastně od nuly to nejde proto, protože se poprvé porovná druhý prvek pole s první, že?

Meph

C / C++ › funkce s parametrem pole
24. 2. 2013   #171998

Zdravim,

trochu zápasím s ukazateli, asi jako každý amatér :)

Mám funkci na hledání maxima, do ni bych potřeboval poslat pole a v něm najít maximum, funkce pak vrátí index pole, kde je to maximum. Podařilo se mi předat funkci ukazatel na pole, vidím  při debugu, že tam to pole je, ale neumim přistupovat k jednotlivým hodnotám tohoto pole, pravděpodobně si beru jen ukazetel na daný index pole. Poradíte mi někdo? Díky


// používám jedno pole z této struktury:
typedef struct { double value[16]; double location[16];} frame;
frame process_frame;

//do process_frame.value jsem nacpal 16 čísel


//funkci volám takto:
max_loc = max_value(process_frame.value);


//funkce pro hledání maxima
int max_value(double (*val)[16]){

    //int size = sizeof(val)/sizeof(val[0]);
	int size = 16;
    int max = 0;
    int i;
    for (i = 0; i < size; ++i){
        if (val[i] > val[max]){
            max = i;
        }

    }
    return max;
}
Honza
C / C++ › otevření souboru
23. 2. 2013   #171853

#2 vitamin
díky moc.

Honza
C / C++ › otevření souboru
23. 2. 2013   #171849

 Vyskytuje se mi tento warning a moc nerozumím co znamená, můžu poprosit o pomoc?

main.c:47:13: warning: assignment makes pointer from integer without a cast [enabled by default]

odpovídající kod:

if(f_in = fopen("/home/honza/input_file.txt", "r") == NULL){
printf("Chyba pri otevreni souboru");    }

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý