Here, all we do is define a function that adds two variables: x and y. We can then compile this program
to generate machine code for a specific platform
GOOS=linux GOARCH=amd64 go build -gcflags "-N -l"
**-gcflags**
The -N and -l flags tell the gc compiler not to do any compiler optimizations or linking.
This is for cleaner assembly generation for inspection
We can target other platforms whose underlying hardware is different
```sh
GOOS=linux GOARCH=arm64 go build -gcflags "-N -l"
```
**-gcflags**
You can change the underlying hardware architecture that you want the go compiler to
target.
---
The first annotation renders correctly. However the second throws an error:
Example:
Here, all we do is define a function that adds two variables: x and y. We can then compile this program to generate machine code for a specific platform