Hlavní navigace

Názor ke zprávičce Hlasování k OOXML v ČR od anonym - Přenosnost programů v C závisí jen na tom,...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 6. 9. 2007 22:58

    bez přezdívky
    Přenosnost programů v C závisí jen na tom, jak dobře je program napsaný. Když je správně použita podmíněná kompilace, může být klidně polovina kódu napsaná zvlášť pomocí rozšíření každého kompilátoru. Když se novináři ptali zástupců Oracle, jak složité bylo portovat jejich databázový systém na Linux, odpověď zněla: "Zadali jsme příkaz make." Ostatně nestandardní rozšíření jazyka C nejsou nejvhodnější příklad, protože kompilátor zdrojový kód pouze čte, ale nezapisuje (ano, o parametru gcc -E opravdu vím). Kancelářské balíky dělají obojí.

    Chybový kód při volání fopen najdete v globální proměnné errno, tedy návratová hodnota fopen_s není žádná úžasná novinka. Pokud s tím předáváním NULL mluvíte o prvním parametru fopen_s, tak u fopen také aplikace nespadne, protože tam žádný takový ukazatel nepředáváte. Hlídat ostatní parametry fopen vám také nikdo nebrání. Pokud zadáte místo jména souboru nebo režimu otevření NULL, klidně vám může naskočit i oblíbená sponka z MS Office a oznámit vám popis problému, protože podle normy je chování v tomto případě nedefinované.

    Na zlepšování spolehlivosti jsem slyšel jednu opravdu trefný výrok: Pokud se budete snažit udělat něco opravdu blbovzdorné, stvoříte pouze lepšího blbce, který to stejně dřív nebo později rozbije.