Я искал последние сведения о создании компактных Go исполняемых файлов, без успеха. Большая часть информации, кажется, несколько лет.Golang размер исполняемого файла
Моя программа: стандартный мир привет, найденный на Rosettacode.org. С Fortran я получаю exe-файл под 100 КБ. С Go exe-файл имеет колоссальный 2400 КБ.
Мои вопросы: есть ли переключатели компилятора или прагмы, которые я должен использовать? Есть ли другие инструменты или трюки, о которых я не знаю (я начинаю с Go). Каковы будущие планы Go относительно размера исполняемого файла? Что это такое под Linux - то же самое? Что происходит с файлами exe на больших программах?
Фон: Я использую go 1.5, установленный в Windows 7. Мой проект записывает (фактически переносит с других языков) некоторые программы командной строки. Имея 20 или более больших файлов Go exe, вы съедаете много места. Хорошо, я знаю, что пространство дешево, поэтому я могу жить с ним. Однако я считаю, что ясность в этом вопросе поможет многим людям.
Не уверен, что SE является подходящим местом для обсуждения стольких вопросов. Возможно, более подходящим будет список рассылки Go. –
Я буду рад услышать о переключателях компилятора или прагмах, особенно если они не были хорошо документированы. – Fred
Прочитайте это: [Причина огромного размера скомпилированного исполняемого файла Go] (http://stackoverflow.com/questions/28576173/reason-for-huge-size-of-compiled-executable-of-go). Исполняемый файл Go большой, потому что он содержит среду выполнения с поддержкой gc и отражения во время выполнения. Fortran exe не предоставляет это вам (или уровень, сопоставимый с уровнем Go). Не волнуйтесь, время выполнения добавляется только один раз, если ваш код растет, он не будет линейным по размеру вывода. – icza