Olej писал(а): ↑01 апр 2022, 20:40
нативная система программирования
Проверка:
Код: Выделить всё
olej@raspberrypi:~ $ ls -l hello
-rwxr-xr-x 1 olej olej 1951379 апр 1 20:42 hello
Код: Выделить всё
olej@raspberrypi:~ $ file hello
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, Go BuildID=p-BIL0J3CprVGzKJ870t/WcX0cRUun8DsTNNVbUUq/rJ6s2eiCGOwT7Qn5dwD4/SXnYe0-oUjo8aQ2J9T7U, not stripped
Код: Выделить всё
olej@raspberrypi:~ $ ls -l hello
-rwxr-xr-x 1 olej olej 1248156 апр 1 20:43 hello
strip позволяет урезать около 7Kb отладочной информации.
Код: Выделить всё
olej@raspberrypi:~ $ file hello
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, Go BuildID=p-BIL0J3CprVGzKJ870t/WcX0cRUun8DsTNNVbUUq/rJ6s2eiCGOwT7Qn5dwD4/SXnYe0-oUjo8aQ2J9T7U, stripped
Выполнение:
Код: Выделить всё
olej@raspberrypi:~ $ ./hello
ты кто будешь?
> Земляничка
какое длинное имя ... целых 21 байт
привет, Земляничка
Важно здесь что?:
- всё выполняется на совершенно непривычной аппаратной платформе ARM
- символьное представление - UTF-8 представление для кодировки Unicode
- то что кодирование здесь UTF-8 видим по числу байт (21) русской строки (10 букв) - 10*2 + 1 (перевод строки) = 21
P.S. Это всё, естественно, если установлена (или проверено что установлена) локаль ru_*. UTF-8:
Код: Выделить всё
olej@raspberrypi:~ $ locale
LANG=ru_UA.UTF-8
LANGUAGE=ru_UA.UTF-8
LC_CTYPE="ru_UA.UTF-8"
LC_NUMERIC="ru_UA.UTF-8"
LC_TIME="ru_UA.UTF-8"
LC_COLLATE="ru_UA.UTF-8"
LC_MONETARY="ru_UA.UTF-8"
LC_MESSAGES="ru_UA.UTF-8"
LC_PAPER="ru_UA.UTF-8"
LC_NAME="ru_UA.UTF-8"
LC_ADDRESS="ru_UA.UTF-8"
LC_TELEPHONE="ru_UA.UTF-8"
LC_MEASUREMENT="ru_UA.UTF-8"
LC_IDENTIFICATION="ru_UA.UTF-8"
LC_ALL=ru_UA.UTF-8
Код: Выделить всё
olej@raspberrypi:~ $ locale -a
C
C.UTF-8
POSIX
ru_UA.utf8