abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 12:30 | IT novinky

Nadace Raspberry Pi představila (YouTube) Raspberry Pi Zero W. Jedná se o vylepšenou verzi miniaturního počítače Raspberry Pi Zero s Wi-Fi a Bluetooth. Koupit jej lze za 10 dolarů. V prodeji je také oficiální krabička.

Ladislav Hagara | Komentářů: 1
dnes 00:55 | Komunita

Pocket (dříve Read It Later) (Wikipedie) je oblíbená služba umožňující uložit si článek z webu na později. V červnu 2015 s vydáním Firefoxu 38.0.5 se do té doby doplněk Pocket stal integrovanou součásti Firefoxu, a to i přes odpor celé řady uživatelů tohoto webového prohlížeče. Mozilla po měsících ustoupila a z integrované součásti se stal opět doplněk. Včera bylo oznámeno, že Mozilla službu Pocket kupila (Mozilla Blog, Pocket Blog).

Ladislav Hagara | Komentářů: 11
včera 23:55 | Pozvánky

Tentokrát jsme si pro vás připravili neobvyklou akci. Ve středu 1. 3. v 17:30 nás přivítá sdružení CZ.NIC ve svých prostorách v Milešovské ulici číslo 5 na Praze 3, kde si pro nás připravili krátkou prezentaci jejich činnosti. Následně navštívíme jejich datacentrum pod Žižkovskou věží. Provedou nás prostory, které jsou běžnému smrtelníkovi nedostupné!

… více »
xkucf03 | Komentářů: 0
včera 18:30 | Komunita

Jednodeskový počítač Raspberry Pi slaví již 5 let. Prodej byl spuštěn 29. února 2012. O víkendu proběhne v Cambridgi velká narozeninová party. Na YouTube bylo při této příležitosti zveřejněno video představující zajímavé projekty postavené na Raspberry Pi.

Ladislav Hagara | Komentářů: 1
včera 18:30 | Nová verze

Byla vydána verze 2017.1.1 svobodného multiplatformního leteckého simulátoru FlightGear. Kódový název a výchozí letiště této verze je Bergen. Přehled novinek v Changelogu.

Ladislav Hagara | Komentářů: 0
včera 10:50 | Zajímavý software

Mozilla.cz informuje o dvou nových experimentálních funkcích v programu Firefox Test Pilot (zprávička). Snooze Tabs slouží k odkládání panelů na později. Pokud vám někdo pošle odkaz, ale vy nemáte čas si stránku hned přečíst, můžete si naplánovat otevření panelu na později. Stačí kliknout na tlačítko a vybrat, kdy chcete panel otevřít. Firefox panel schová a ve vybraný čas znovu otevře. Pulse umožňuje ohodnotit, jak dobře stránka funguje, např. jak rychle se ve Firefoxu načetla. Podle nasbíraných hodnocení pak bude Mozilla prohlížeč ladit.

Ladislav Hagara | Komentářů: 8
včera 02:00 | IT novinky

V Barceloně probíhá veletrh Mobile World Congress 2017. Nokia na něm například představila (360° video na YouTube) novou Nokii 3310 (YouTube). BlackBerry představilo BlackBerry KEYone (YouTube) s QWERTY klávesnicí. LG představilo LG G6 (YouTube). Huawei HUAWEI P10 a P10 Plus. Samsung představil tablet Galaxy Tab S3.

Ladislav Hagara | Komentářů: 3
26.2. 14:00 | Nová verze

Komunita kolem Linuxu From Scratch (LFS) vydala Linux Linux From Scratch 8.0 a Linux From Scratch 8.0 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází především s Glibc 2.25 a GCC 6.3.0. Současně bylo oznámeno vydání verze 8.0 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

Ladislav Hagara | Komentářů: 0
26.2. 11:11 | Nová verze

Byla vydána verze 0.10.0 webového prohlížeče qutebrowser (Wikipedie). Přehled novinek v příspěvku na blogu. Vývojáři qutebrowseru kladou důraz na ovladatelnost pomocí klávesnice a minimální GUI. Inspirovali se prohlížečem dwb a rozšířeními pro Firefox Vimperator a Pentadactyl. Prohlížeč qutebrowser je naprogramován v Pythonu a využívá PyQt5. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPL 3.

Ladislav Hagara | Komentářů: 35
25.2. 16:22 | Nová verze

Po pěti měsících od vydání Waylandu a Westonu 1.12.0 oznámil Bryce Harrington (Samsung) vydání Waylandu 1.13.0 a Westonu 2.0.0.

Ladislav Hagara | Komentářů: 9
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 733 hlasů
 Komentářů: 69, poslední dnes 01:02
    Rozcestník

    Dotaz: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    4.6.2009 10:39 Dušan Renát | skóre: 4
    Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Přečteno: 827×
    Mám program (který využívá několik knihoven - SDL, SDL_ttf, SDL_gfx, ale v tom nejspíš problém nebude), který jsem úspěšně zkompiloval a spustil na svém i na jednom cizím Linuxu. Při pokusu o zkompilování pod Windows (MinGW nejnovější verze, program mingw32-make, který volá g++) mi to zahlásí chybu, které jednak nerozumím, jednak jsem nic chytrého nenašel nikde na internetu:
    C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/cwchar:161:
    error: `::swprintf' has not been declared
    C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/cwchar:168:
    error: `::vswprintf' has not been declared
    mingw32-make: *** [main.o] Error 1
    Co se programu týče, háže to na řádku, kde includuju knihovnu iostream. Ví někdo, co to znamená a jak to vyřešit? Budu vděčný za každou pomoc.

    Odpovědi

    4.6.2009 11:10 potejo
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    Ve windows verzi gcc neni podpora pro siroke znaky, neni to naimplementovane, stalo se me totez, kdyz jsem pouzival prepinac -std=c++98. Kdyz sem ho nahradil -std=gnu++98, tak preklad prosel.

    4.6.2009 11:19 Dušan Renát | skóre: 4
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Široké znaky? Myslíš jako víc než osmibitový kódování? UTF a tak?
    4.6.2009 11:25 potejo
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    Podpora pro typ wchar_t viz http://www.mingw.org/category/wiki/wchar_t

    4.6.2009 12:16 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Zakladni problem je v tom ze Windows pouziva v rozporu se standardem variabilni kodovani (UTF-16). V principu to znamena reimplementovat nanovo uplne vsechny funkce ktere delaji wchar_t.

    Je nejaky zasadni problem proc to nekompilujes MSVC? MSVC je sice hrozny kompilator, ale pokud mas standardni kod, tak to vetsinou sezere.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    4.6.2009 13:43 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    V rozporu s jakym standardem? Nic neni potreba reimplementovat.

    MSVC byl a je prinejmensim slusny kompilator.

    Ac linuxak, tak na vareni z vody moc nejsem.

    4.6.2009 14:17 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Standard vyzaduje platnost: jeden wchar_t = jeden znak

    Veskere funkce z GCC tohle celkem logicky predpokladaji.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    4.6.2009 15:40 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Ale tenhle "problém" máte v Linuxu také - UTF-8 je také kódování s proměnnou délkou znaku, dokonce natolik, že se s tím potkáte i u běžných řetězců (UTF-16 si dokonce řada windowsáků plete s UCS-2 a tvrdí že má pevnou délku znaku). Proto existují ty knihovní funkce pro převod mezi multibyte (UTF-8) a widechar (UCS-4) reprezentací, počítá se, že navenek budete používat multibyte (UTF-8) a interně widechar (UCS-4). Na Windows by tedy mělo stačit místo UTF-8 jako multibyte reprezentaci používat UTF-16 a nebylo by potřeba nic měnit. Pokud ovšem nějaká dutá hlava vymyslela, že wchar_t bude šestnáctibitový, tak to je samozřejmě problém.
    4.6.2009 16:01 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Ano, jak uz jsem napsal wchar_t je pod Windows 16bit s kodovanim UTF-16 (WinXP a novejsi) nebo UCS-2 (Windows 2000 a starsi). Pod Linuxem je wchar_t 32bit s kodovanim UTF-32.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    4.6.2009 19:00 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    wchar_t je pod Windows 16bit s kodovanim UTF-16 (WinXP a novejsi)

    Tak za něco takového by autoři opravdu zasloužili pár facek.

    Pod Linuxem je wchar_t 32bit s kodovanim UTF-32.

    Spíš bych řekl UCS-4, i když z praktického hlediska to vyjde nastejno.

    4.6.2009 21:13 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Wiki: "Accordingly UCS-4 and UTF-32 are now identical except that the UTF-32 standard has additional Unicode semantics."
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    4.6.2009 23:12 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Ano, wchar_t je díky windows totálně nepřenositelný typ, stejně jako třeba long. Ale podle mého je UTF8 co se týče zpracování mnohem horší a pomalejší a je mi celkem líto toho, že se v linuxu tak uchytil:(
    4.6.2009 23:16 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    UTF-8 se uchytil vsude protoze to je optimalni typ pro ukladani Unicode textu. UTF-32 je optimalni datovy typ pro praci s Unicode texty.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    5.6.2009 00:04 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Důležitá je praxe. Java, .NET a Qt používají UTF-16, v gtk se používá hodně UTF-8.

    Mi šlo ale o to, že wchar_t je podle mě nepřenositelný typ.
    5.6.2009 01:21 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Typ wchar_t nikdy nebyl zamýšlen jako přenositelný typ, ale zásadně jako typ pro interní práci s textem. Chtějí se od něj v podstatě jen dvě základní vlastnosti: aby umožnil reprezentovat všechny potřebné znaky a aby umožnil kódování s pevnou délkou znaku a tím i jednodušší (interní) zpracování textu. "Unixový" 32-bitový wchar_t obě tyto vlastnosti splňuje velmi dobře, při použití 16-bitového ale už z principu musíte jednu obětovat (to odpovídá výše zmíněné volbě mezi UCS-2 a UTF-16).
    5.6.2009 01:56 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    My si nerozumíme. Co myslíte pod pojmem přenositelný? Já jsem myslel, že je tu diskuze o programování, takže onou přenositelností jsem myslel psaní přenositelných aplikací, které budou využívat wchar. A to podle mě nejde, protože pod Windows nemáte právě tu jistotu, o které mluvíte.

    Já osobně to řeším používáním 32bitových řetězců (všude), ale i mé řešení může jít někomu proti srsti:-)
    5.6.2009 09:20 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Já jsem myslel, že je tu diskuze o programování, takže onou přenositelností jsem myslel psaní přenositelných aplikací, které budou využívat wchar. A to podle mě nejde, protože pod Windows nemáte právě tu jistotu, o které mluvíte.

    Pokud nepřenositelností rozumíte to, že to nebude fungovat na překladačích (s knihovnami), které sice implementují funkce definované standardem ISO C99, ale implementují je v rozporu s tímto standardem, pak máte pravdu. Ale to není speciální vlastnost widechar stringů, to potom platí pro jakýkoli prvek jazyka.

    5.6.2009 12:39 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Né nebude fungovat, ale chovat se jinak ;-)
    5.6.2009 01:17 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Horší než UTF-16? To ani náhodou, abyste vymyslel nepraktičtější typ, to byste se musel hodně snažit… Navíc, jak už podotkl kolega, UTF-8 není určen pro zpracování textu, ale pro jeho ukládání.
    5.6.2009 01:51 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    V čem je tedy UTF-8 lepší?

    Jasně, UTF-16 má úplně stejné neduhy, jako UTF-8, ale z hlediska zpracování se jedná o tu lepší variantu. Surrogate pair existuje jen jeden a pokud se jedná uložení takového textu v paměti, tak se jedná o celkem dobrou volbu (ono tomu i nasvědčuje to široké použití).

    Pokud mluvíme o ukládání textu ve smyslu uložení na HDD, je i UTF-8 můj favorit, ale já jsem mluvil v kontextu uložení textu v paměti aplikace (RAM) a s takovým textem obvykle pracujeme, ne?
    5.6.2009 01:57 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Ano UTF-16 je uzasny kompromis. Neni to ani velke ani male, neni to ani rychle ani pomale. Odporuje to standardu (ale jelikoz se vetsinou vlezeme do spodnich 16bit, tak nam to jiste vsichni odpusti).

    UTF-32 je urcen pro interni praci s Unicode texty. Cokoliv co opousti aplikaci (at uz libovolnym zpusobem - sit, disk, etc...) by melo byt UTF-8.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    5.6.2009 02:02 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Nevím, proč to tak hrotíte, se chováte, jako by vám snad UTF-16 nějak ublížilo:)

    Já nevím, vy tady pořád hlásáte standardy, ale realita je jiná. Pro vás tedy zopakuji ještě jednou, bavím se o reprezentaci řetězců v paměti, nikdy bych se nebavil o wchar v kontextu ukládání textu mimo aplikaci.
    5.6.2009 02:49 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Uz zacina byt jasno, bez urazky, ale Ty vubec netusis, ktera bije :)
    5.6.2009 09:37 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Co místo těch urážek zkusit nějaký argument?
    5.6.2009 20:10 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Nemyslel jsem to tak, jak to nejspíš vyznívá. Omlouvám se.
    5.6.2009 09:17 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    V čem je tedy UTF-8 lepší?

    Je přímým rozšířením sedmibitové ASCII (může se to hodit např. u webů, jejichž autoři z nějakých důvodů pro informaci o kódování místo hlavičky odpovědi používají berličku v podobě http-equiv meta elementu). Odpadá u něj problém s endianitou, takže není potřeba prznit textové soubory BOM nebo rozlišovat dvě varianty kódování. Je úspornější. Naopak nepřináší oproti UTF-16 žádné nevýhody: zpracováváte-li text v UTF-16, stejně musíte počítat s proměnnou délkou znaku se všemi důsledky (pokud to neděláte jako ta část windowsových programátorů, kteří používají UCS-2 a říkají mu UTF-16).

    Pokud mluvíme o ukládání textu ve smyslu uložení na HDD, je i UTF-8 můj favorit, ale já jsem mluvil v kontextu uložení textu v paměti aplikace (RAM) a s takovým textem obvykle pracujeme, ne?

    Co se týká zpracování, pak pro jednodušší operace to lze nechat v UTF-8 (převodem do UTF-16 nic nezískáte), pro složitější preferuji typ wchar_t a funkce pro práci s ním tak, jak je definuje ISO C99. Což v podstatě znamená UCS-4 (případně máme-li jistotu, že to bude stačit, lze uvažovat i o UCS-2).

    Podstatou celé debaty je ale skutečnost, že pokud autoři MSVC dnes, v roce 2009, pořád ještě nejsou schopni (nebo ochotni) korektně implementovat práci s widechar stringy podle ISO C99, je to trestuhodné. Bohužel v případě MS je takový přístup spíš pravidlem než výjimkou.

    5.6.2009 02:43 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    Standard vyzaduje platnost: jeden wchar_t = jeden znak

    Ktery standard? V C99 to zhruba takhle je, ale takhle to tam nestoji. Necham se presvecit konkretnim prikladem se zduvodnenim.

    Veskere funkce z GCC tohle celkem logicky predpokladaji.

    GCC je to povetsinou jedno a tam kde neni, tam by se mel drzet v mantinelech standardu. V tom neni problem (jak se to vezme, k tomu nejspis dojdeme).

    5.6.2009 09:35 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    Co třeba sekce 7.17?

    wchar_t
    which is an integer type whose range of values can represent distinct codes for all members of the largest extended character set specified among the supported locales; the null character shall have the code value zero.

    Nebo 7.1.1:

    1 … The term multibyte string is sometimes used instead to emphasize special processing given to multibyte characters contained in the string or to avoid confusion with a wide string. …

    A wide string is a contiguous sequence of wide characters terminated by and including the first null wide character. A pointer to a wide string is a pointer to its initial (lowest addressed) wide character. The length of a wide string is the number of wide characters preceding the null wide character and the value of a wide string is the sequence of code values of the contained wide characters, in order.

    5.6.2009 16:58 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    which is an integer type whose range of values can represent distinct codes for all members of the largest extended character set specified among the supported locales

    Ano, jak jsem napsal - V C99 to zhruba takhle je, ale takhle to tam nestoji. Proto bych rad konkretni priklad dokazujici ten rozpor se standardem. Rad se necham presvedcit.
    5.6.2009 18:17 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    A ne tedy jen v C99, v C++ taky.
    5.6.2009 19:21 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Podle mne je ten rozpor zcela zřetelný: implementace ve Windows se tváří, že podporuje i jiné locales než ta, která vystačí s tou částí Unicode, kterou lze v UTF-16 zapsat dvěma byty. K čemu by podle vás bylo implementovat widestringy způsobem, který by si ponechal všechny špatné vlastnosti multibyte stringů a jen přidal pár dalších?
    5.6.2009 20:31 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Zpětná kompatibilita. Ve Windows už si prostě nemůžou říct, že by byl lepší 32 bit wide string.
    6.6.2009 11:34 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    To je právě ten průšvih. Teoreticky by program měl být psán tak, aby mu nevadilo, pokud by tvůrce kompilátoru v náhlém zatmění mysli zadefinoval wchar_t třeba jako 64-bitový. Ale teorie a praxe se často dost liší… Holt si asi musíme zvyknout, že programátoři na Windows teprve teď se zpožděním nějakých čtyř let prožívají rozšiřování obzorů související s přechodem na 64-bitovou platformu. Snad se jim časem rozšíří natolik, že budou schopni vstřebat i širší široké znaky. :-)
    5.6.2009 21:46 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Uz to chapu. Veril jsem v kompaktni ulozeni omezeneho vyberu znaku, ale to Windows nedelaji. Jsem zase o kousek chyrejsi :)
    5.6.2009 13:50 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    GCC je to povetsinou jedno a tam kde neni, tam by se mel drzet v mantinelech standardu. V tom neni problem (jak se to vezme, k tomu nejspis dojdeme).
    Coze? Jak ti proboha muze byt u wide retezcu jedno jestli pouzivaji variabilni nebo fixni kodovani?
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    5.6.2009 17:58 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Mluvil jsem o prekladaci. Vetsinu casu je to pro nej jen anonymni kousek pameti a v ostatnich pripadech by mel s obsahem pracovat, tak jak mu dovoluje standard.

    Pokud jde o me, tak je mi opravdu jedno v jakem kodovani je wchar_t. Tedy, nekteremu bych jiste dal prednost, ale protoze je to zkratka vec specificka pro prekladac, tak konkretni kodovani nepredpokladam a tam, kde ho potrebuju, pouziju k tomu urcene konverzni funkce.

    Nekompatibilita tady je a standard ji v jistych mezich dovoluje. Pokud existuje dukaz tveho tvrzeni, ze Windows v tomto ohledu ten standard porusuji, tak bych ho rad videl.
    5.6.2009 18:10 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Ty mas nejakou nervovou poruchu? Na muj prispevek, ze veskere funkce pro praci s wide retezci je pro kompatibilitu s Windows (diky tomu ze ve Windows neplati jeden znak = jeden wchar_t) nutne prepsat zareagujes tim, ze nic prepisovat neni nutne a ted zase reagujes naprosto mimo to o cem se tady bavime.

    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    5.6.2009 19:51 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Mas pravdu, tu cast jsem opravdu pochopil jinak, nez jsi ji myslel. Ale tu vubec neresim, predevsim jsem se ptal s jakym standardem jsou v tomto ohledu ty Windows v rozporu.

    Na to jsi prisel s rovnici a ja se pidil po tom, ktery standard toto vyzaduje, jestli vyzaduje presne toto, jak se to tyka toho porusovani a po prikladu, ktery potvrdi jeho porusovani na strane Windows. Zminku o GCC jsem uzavrel s tim, ze v nem neni problem. Prekladac sam o sobe je OK, interoperabilitu, reimplementaci cehokoliv neresim, patram jen po tom porusovani standardu.

    Citujes to, co jsem napsal k GCC, tak vysvetluju, ze jsem myslel opravdu jen holy prekladac, odpovidam na dotaz o mem vztahu ke kodovani a dale se snazim jasne vymezit, na co se to vlastne ptam - co a jak je porusovano.

    Dekuji za optani, nervovou poruchu nemam, neodbocuju a stale se ptam na jedinou vec, ale asi se spatne vyjadruju (casto). Ted uz by snad melo byt jasno. Cili - jaky standard a jak porusuji Windows (resp. prekladac pouzity k jejich buildu) svou implementaci wchar_t ? Z toho, co vim, si totiz toto nemyslim a prosil bych tedy o konkretni priklad a zduvodneni. Diky.
    5.6.2009 20:26 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Achjo, ale vzdyt tohle uz napsal nekdo nade mnou. Kdyz uz nic, tohle ve windows neplati:
    A wide string is a contiguous sequence of wide characters terminated by and including the first null wide character. A pointer to a wide string is a pointer to its initial (lowest addressed) wide character. The length of a wide string is the number of wide characters preceding the null wide character and the value of a wide string is the sequence of code values of the contained wide characters, in order.
    Je jedno kterym smerem se na to divas. Budto neplati ze string je sekvence wide characters, nebo neplati to ze delka je jejich pocet.

    Take porusuje pozadavek na to ze wchar_t ma byt schopen pojmout vsechny znaky vsech locale dostupnych na danem systemu.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    5.6.2009 20:30 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Aby opet nedoslo k nedorozumeni tak:
    wide character
    bit representation that fits in an object of type wchar_t, capable of representing any character in the current locale
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    5.6.2009 21:35 luky
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Asi uz to chapu. Takze se to do tech dvou bytu proste nevejde. Myslel jsem si, ze by to mohlo byt ve stylu DBCS. Mohl jsem opak tusit uz ze zminky o UTF-16, ale to se pouziva(lo) tak nejak divoce.

    Tak dik a sorry, ze jsem tak dlouho prudil :)
    4.6.2009 20:08 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    MSVC je sice hrozny kompilator, ale pokud mas standardni kod, tak to vetsinou sezere.

    To preto mám v projekte:
    #if defined(WIN32)
    #define recv(s,b,l,f) recv(s,(char *)b,l,f)
    #define setsockopt(s,l,o,v,n) setsockopt(s, l, o,(char *)v, n)
    #define getsockopt(s,l,o,v,n) getsockopt(s, l, o,(char *)v, n)
    #define strcasecmp _stricmp
    #define strncasecmp _strnicmp
    #define vsnprintf _vsnprintf
    #define snprintf _snprintf
    #define assert(b) _ASSERT(b)
    #define u_int32_t     DWORD
    #define u_int16_t     WORD
    #define u_int64_t     unsigned __int64
    #define inline __inline
    #endif
    Plus formátovacie pole pre printf a 64-bitový integer, ne-posix-ové thready, chýbajúce geteuid/getegid, donedávna odlišné argumenty pre niektoré z rodiny printf funkcií, dokonca nedávno kolegom objavená vtipná vec: rôzny počet argumentov pre nejakú printf funkciu v Debug a v Release builde, ... Vlastne ten kompilátor je možno fajn. Len z tej omáčky okolo mi občas idú vlasy dupkom.

    Hello! My name is Arjun Bijanki, and I’m the test lead for the Visual C++ compiler. I’m also Microsoft’s representative on the ISO C standard committee. ... Now, the Visual C++ compiler team receives the occasionally question as to why we haven’t implemented C99. It’s really based on interest from our users.

    I rest my case.
    4.6.2009 21:18 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Slova vetsinou a standardni si pri cteni te vety asi preskocil co? :-D

    Ale ano, podpora pro Cecko je na hrozne urovni.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    4.6.2009 12:26 Dušan Renát | skóre: 4
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    Tohle pravděpodobně pomohlo - tuhle chybu už to nehlásí. Místo toho to hlásí
    C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.tex
    t+0x104): undefined reference to `WinMain@16'
    Ano, mám tam funkci main, a to ve formátu
    int main(int argc, char * argv[])
    
    Zkoušel jsem i -mwindows přepínač při linkování i překladu (někde jsem to vygooglil) a nic.
    4.6.2009 12:58 potejo
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    Moment on je to ceckovy program nebo c++ zkusil bych mozna prejmenovat main.c na main.cpp ikdyz mozna je to blbost jak od teho vypada makefile?

    4.6.2009 13:16 Dušan Renát | skóre: 4
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf
    V tomhle tématu pokračuju jinde, aby když to pak někdo bude hledat, aby to snáz našel. Protože si myslím, že tenhle problém s původním moc nesouvisí.
    4.6.2009 11:46 potejo
    Rozbalit Rozbalit vše Re: Přenositelnost C++ z Linuxu na Windows - ::swprintf

    Toto uz je mimo ale mozna bys upotrebil novejsi verze gcc http://tdragon.net/recentgcc/ Ale zmineny problem to neresi.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.