Бинарный выход M4 - PullRequest
       72

Бинарный выход M4

1 голос
/ 12 января 2011

Можно ли определить макрос M4, который выводит двоичное целое число?Например:

define(`foo', $1)
foo(42)

, который должен вывести 1 байт со значением 42.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2011

В GNU m4 есть макрос format , который смоделирован после функции C printf.

% gm4
define(`chr', `format(`%c', `$1')')dnl
42 is chr(`42')
42 is *

Это не будет работать в m4, поставляемом с FreeBSD.

0 голосов
/ 27 февраля 2011
define(`foo', `esyscmd(`python -c "import sys; sys.stdout.write(chr($1))"')') dnl
foo(`42')

Расширяется до:

*

Хотя это немного обманывает.

...