Можно ли скомпилировать код go без встроенной библиотеки, которая может работать на машине без операционной системы - PullRequest
1 голос
/ 31 мая 2019

Как и флаги компиляции C -fno-pic -O -nostdinc -c -static -fno-builtin -fno-strict-aliasing -m32 -fno-stack-protector может компилировать коды в чистый ELF без использования библиотеки, полагаясь на уникальную систему. Есть ли способ, которым GO может это сделать?

1 Ответ

2 голосов
/ 31 мая 2019

Простой ответ - нет. Go опирается на операционную систему (Windows, Linux, MacOS, BSD). Go имеет среду выполнения, предназначенную для работы в определенных средах https://github.com/golang/go/wiki/MinimumRequirements.

Есть несколько проектов с открытым исходным кодом, которые помогут вам достичь этого, но я бы не стал запускать их в производство, поскольку они поддерживают ограниченное количество аппаратных микросхем и не поддерживаются так же, как стандартная библиотека. Вот некоторые примеры:

https://github.com/ziutek/emgo

https://github.com/tinygo-org/tinygo

Эти фреймворки / библиотеки помогут вам запустить код Go на голом железе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...