Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

Category:

SYSTEM(3)

       man system

       [...]

       PORTABILITY
       ANSI C requires `system', but leaves the nature and effects of a command processor undefined. ANSI C does, however, specify that `system(NULL)' return zero or nonzero to report on the existence of a command processor.

       POSIX.2 requires `system', and requires that it invoke a `sh'. Where `sh' is found is left unspecified.


     Радуют иногда маны. ANSI C требует, чтобы вызов system() существовал, но не описывает, что именно он должен делать. Тем не менее, стандарт требует, чтобы можно было проверить, делает ли что-то system(), вызвав system(NULL). POSIX.2 требует, чтобы при использовании system() вызывался 'sh', но не говорит, где брать sh (особенно в windows NT, которая сертифицирована по POSIX (правда, POSIX.1), но никакими sh в которой и не пахнет).
     Особенно радует, что всё это я выяснил, перетаскивая мелкую счётную программку самого конца прошлого века (ещё под дос) под cygwin. Некрокомпьютинг рулит, да :-)
Subscribe

  • тушёнка

    Заметил за собой любопытное. У нас на работе бывают "дежурства" - это когда надо ночью и/или в выходные присматривать за непрерывно работающей…

  • капролактам

    Любопытно. Оказывается совсем недавно, до 2019 года, миру было известно всего одно вещество, совершенно точно не вызывающее рак (с доказанной…

  • (no subject)

    Понадобилось тут узнать что-то про кварц, не помню уже, то ли показатель преломления, то ли теплопроводность. Набрал, естественно, в гугле "кварц".…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 9 comments