Diskuze: poradit jak udelat - zacatecnik
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.


Jedná se o C++ nebo o C? V C++ bys jednoduše přetížil danou metodu aby přijímala více parametrů. V čistém C přetížení neexistuje, takže musíš vytvořit jinou metodu s jiným názvem.
mozes pouzit _Generic:
#include <stdio.h>
#include <assert.h>
typedef struct{}S1;
typedef struct{}S2;
void wbuff_S1(S1* x){puts("wbuff_S1\n");}
void wbuff_S2(S2* x){puts("wbuff_S2\n");}
#define wbuff(x) _Generic( (x), \
S1*: wbuff_S1(x),\
S2*: wbuff_S2(x),\
default:printf("Error\n")\
)
int main(void){
S1 s1;
S2 s2;
wbuff(&s1);
wbuff(&s2);
wbuff(1);
}
Treba mat kompilator podporujuci C11
typedef struct{}S1;
typedef struct{}S2;
void wbuf (pointer_zacatek_pole *z,zacatek_struct *s, int
delka_struct){
//vlozeni na spravne misto
}
int main(void){
S1 s1_pole[5];
S2 s2_pole[5];
S1 s1;
S2 s2;
wbuf(&s1_pole[0],&s1,sizeof(s1));
wbuf(&s2_pole[0],&s2,sizeof(s2));
}
slo by to takto? co se ma napsat misto pointer_zacatek_pole?
Co přesně chceš udělat? Ten pseudokód, co používáš, je velice matoucí. Napiš to buď v C nebo slovy popiš, co dělá funkce wbuf.
maji to byt kruhove buffery, ktere ukladaji ruzne struktury
Zapisuju na urcitem miste (wbuf) do bufru, na jinem miste vycitam strukturu(rbuf) a zpracovavam
pardon, se mi sem nechtene povedlo dat jakousi fajvku,
ty struktury jsou typove zvlast, kazdy buffer je pro urcity typ struktrury
typedef struct
{
int i;
} S1;
typedef struct
{
double d;
} S2;
void wbuf(void *buffer, int *index, int *count, size_t buf_size, const void *structure, size_t str_size)
{
int i = (*index + *count) % buf_size;
memcpy(buffer + i * str_size, structure, str_size);
(*count)++;
}
int main(int argc, const char * argv[])
{
S1 s1_pole[5];
int s1_index = 0, s1_count = 0;
S2 s2_pole[5];
int s2_index = 0, s2_count = 0;
S1 s1 = { 1 };
S2 s2 = { 2.2 };
const size_t s1_size = sizeof(s1_pole) / sizeof(S1);
const size_t s2_size = sizeof(s2_pole) / sizeof(S2);
wbuf(s1_pole, &s1_index, &s1_count, s1_size, &s1, sizeof(S1));
wbuf(s2_pole, &s2_index, &s2_count, s2_size, &s2, sizeof(S2));
wbuf(s1_pole, &s1_index, &s1_count, s1_size, &s1, sizeof(S1));
wbuf(s2_pole, &s2_index, &s2_count, s2_size, &s2, sizeof(S2));
}
diky, tak vyzkousim projdu... divim se, ze jsem podobnou konstrukci nikde nenasel, neprijde mi to to tak nepouzivane...jeste jednou diky moc
Zobrazeno 11 zpráv z 11.