Безопасно ли извлекать определенную информацию из двоичного кода C ++? - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в C ++, пытаюсь создать программу для чтения пикселей на экране в Linux.

В настоящее время я компилирую проект без какого-либо флага оптимизации, так как я не уверен, что он делает с программой, но это был бы другой вопрос, вот мой:

Удаляет ли определенную информацию из бинарного кода C ++ безопасно?

Я нашел справочную страницуstrip program.

Поскольку я на самом деле не знаю, что означает чередование в этом контексте, я не уверен, что это так же просто, как чередовать все это с помощью:

-s --strip-all    Remove all symbol and relocation information

Но, конечно, я бы тогда хотел, чтобы программа работала безупречно, так что это как-то мешает ее выполнению?


Что касаетсямоя мотивация для чередования: я хочу знать, безопасно ли это, и, как я уже сказал, я повторяю:

Я не на самом деле знаю, что означает чередование в этом контексте.

Я думал, что ответчик мог бы также охватить это.Для меня, чтобы решить.

1 Ответ

0 голосов
/ 04 марта 2019

Символы используются для отладки.

Ваше приложение будет продолжать работать без проблем, если вы их удалите;но вам может быть труднее отлаживать, если есть проблема.

Информация о перемещении используется для динамической загрузки библиотеки и для рандомизации макета адресного пространства (спасибо @interjay);и из документации strip

- remove-relocations = sectionpattern

... Обратите внимание, что неправильное использование этой опции может привести к непригодности выходного файла....

...