![]() |
|
![]() ![]() ![]() |
|
YahоО |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 11.6.2015 Репутация: нет Всего: 1 |
Написал код в файле go, например Hello1.go, работает, далее в LiteIDE создал из него файл Hello1.exe, работает, потом посмотрел что же написано в Hello1.exe внутри, а там масса текста на мой взгляд совершенно необязательного для функционирования данного исполняемого файла.
Например там текстом записаны пути: C:/Program Files/Go/src/internal/cpu/cpu.go C:/Program Files/Go/src/runtime/internal/sys/intrinsics_common.go C:/Program Files/Go/src/internal/bytealg/bytealg.go C:/Program Files/Go/src/internal/bytealg/count_native.go C:/Program Files/Go/src/runtime/iface.go ... C:/Program Files/Go/src/runtime/lfstack.go C:/Program Files/Go/src/runtime/alg.go C:/Program Files/Go/src/runtime/stubs.go C:/Program Files/Go/src/runtime/typekind.go C:/Program Files/Go/src/runtime/type.go C:/Program Files/Go/src/runtime/mwbbuf.go C:/Program Files/Go/src/runtime/atomic_pointer.go C:/Program Files/Go/src/runtime/cgocall.go D:/Hello1.go килобайт 10 подобного перечисления, и в том числе путь к оригинальному файлу Hello1.go, и если файл Hello1.go удалить то Hello1.exe все равно может работать, т.е. данный путь совершенно не нужен исполняемому файлу. А если Hello1.exe записать на другой компьютер где нет go? Тогда зачем мне иметь ненужные текстовые строки в конечном файле? Как компилировать без мусора? Может надо как то по другому настроить имеющийся LiteIDE ? |
|||
|
||||
Oldshelf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 22.4.2018 Репутация: нет Всего: 4 |
Не нашёл по LiteIDE, но есть информация, как отменить включение отладочных данных в Go: https://stackoverflow.com/questions/3000587...ation-on-golang
|
|||
|
||||
YahоО |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 11.6.2015 Репутация: нет Всего: 1 |
Вполне вероятно рецепт по ссылке
https://stackoverflow.com/questions/3000587...ation-on-golang "рекомендую использовать его -ldflags="-s -w", который удаляет таблицу символов и отладочную информацию." помог бы решить проблему, если бы я знал куда врисовать -ldflags="-s -w", пытаюсь так: go build hello.go -ldflags="-s -w" и эдак: go build hello.go -ldflags=-s -w и: go build hello.go -ldflags=-s на все это пишет мне в ответ: named files must be .go files: -ldflags=-s -w Команда завершилась с кодом 1. или named files must be .go files: -ldflags=-s Команда завершилась с кодом 1. По поводу мусора от такой брендовой конторы как то никто и не озаботился до сих пор, все учатся языку и ооп и никто не заглядывает что же там в результате имеет, и множится и носится мусор по миру, удивительно как минимум. По крайней мере мне так и не удается за два дня нагуглить хоть какое то практическое упоминание о попытках что то изменить. Если просто вытереть хоть один символ в исполняемом файле в мусорной области, то файл уже не работает, т.е. даже не пользуясь хранимыми ссылками тем не менее проверяет свою целостность вероятно по хеш-сумме имеющейся в файле. Рассматривая файл можно еще увидеть: "...unicode.Cyrillic unicode.Deseret unicode.Devanagari unicode.Dives_Akuru unicode.Dogra unicode.Duployan unicode.Egyptian_Hieroglyphs unicode.Elbasan unicode.Elymaic unicode.Ethiopic unicode.Georgian unicode.Glagolitic unicode.Gothic unicode.Grantha unicode.Greek unicode.Gujarati unicode.Gunjala_Gondi..." Спрашивается а вот это длинный перечень для чего присутствует в файле в котором управляющие символы вовсе не эти? Можно предположить что реально используемых и минимально необходимых символов в исполняемом файле всего 3-5% от общего их числа, остальное это вредный неиспользуемый в БЫТУ мусор! |
|||
|
||||
YahоО |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 11.6.2015 Репутация: нет Всего: 1 |
"Чтобы уменьшить размер полученного двоичного файла" - почти в два раза.
"удалить информацию, ненужную во время выполнения" - все таки это мусор! пишем так: go build -ldflags="-s -w" hello.go В итоге мусора конечно меньше, но файл все равно очищен не полностью. Oldshelf спасибо за помощь! Это сообщение отредактировал(а) YahоО - 10.9.2023, 15:27 |
|||
|
||||
![]() ![]() ![]() |
Добро пожаловать в раздел "Другие языки" форума Vingrad! | |
|
Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)
Приятного времяпрепровождения! С уважением, Void, kemiisto . |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие языки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |