Почему куча в Go исполняемая? - PullRequest
0 голосов
/ 25 сентября 2018

Я недавно прочитал эту статью http://codearcana.com/posts/2012/05/06/securing-and-exploiting-go-binaries.html, в которой утверждается, что куча исполняемая.Это вызывает у меня несколько разных вопросов о взаимодействии среды выполнения и операционной системы.

В C, когда программе требуется пространство в куче, она вызывает malloc, который, в свою очередь, вызывает sbrk, которыйдает это память.Насколько я знаю в C, куча только для чтения и записи.

Почему куча в Go исполняется?Чем отличается взаимодействие приложения с ОС в Go от C?

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Куча больше не является исполняемой .

Код был сгенерирован во время выполнения для функциональных литералов до Go 1.1, поэтому требуется исполняемая куча.Вызовы функций были обновлены в Go 1.1 , чтобы исключить необходимость в исполняемой куче и обеспечить другие преимущества.

0 голосов
/ 25 сентября 2018

Почему куча в Go исполняется?

Кучи Go не выполняется с 2013 года.

...