Что делает скомпилированную статическую библиотеку GCC, содержат?

Проблема, скорее всего, связана с изменениями между python2 и python3

В python2

  • '' имеет тип str и, следовательно, поддерживает ''.decode()
  • u'' типа unicode и, таким образом, поддерживает u''.encode()

В python3 это полностью изменено

    ]
  • '' относится к типу unicode и поэтому поддерживает ''.encode()
  • u'' относится к типу byte и, таким образом, поддерживает u''.decode()

в вашем случае, в зависимости от типа ваших переменных, вам может потребоваться сделать что-то вроде

s = title + b' ' + author + b' ' + text

просто прибегнуть к Python 2:)

7
задан mxcl 31 October 2008 в 18:56
поделиться

3 ответа

Статическая библиотека является просто набором объектных файлов. При компиляции программы против статической библиотеки объектный код для функций, используемых программой, копируется с библиотеки в исполняемый файл. Соединение против статической библиотеки не заставит функций за пределами той библиотеки быть включенными в Ваш код.

5
ответ дан 6 December 2019 в 21:21
поделиться

A. файл является в основном просто пакетом.o файлов. Можно продемонстрировать это использование ar инструмент.

Например, для отображения содержания библиотеки:

ar -t libsamplerate.a

Создать.a файл с нуля:

ar -r tim.a *.txt
6
ответ дан 6 December 2019 в 21:21
поделиться

Просто объектный код для libsamplerate. Статически соединение против единственной библиотеки не делает все библиотеки связанными статически; это было бы Плохо.

1
ответ дан 6 December 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: