golang ialah bahasa tersusun yang cekap, ditaip kuat, disokong serentak Sintaksnya yang diperkemas dan fungsi berkuasa perpustakaan standard rasmi menjadikannya digunakan secara meluas dalam pengkomputeran awan, sistem teragih dan bidang lain. Tetapi pada masa yang sama, pengguna sering menghadapi masalah bahawa fail yang disusun golang terlalu besar, menjadikan penggunaan dan penghijrahan menyusahkan. Artikel ini akan menganalisis sebab fail yang disusun golang terlalu besar, dan menyediakan beberapa penyelesaian untuk membantu pembaca mengatasi masalah ini.
1. Sebab fail yang disusun golang terlalu besar
Sebab fail yang disusun golang terlalu besar adalah rumit, terutamanya termasuk aspek berikut:
Apabila atur cara golang disusun, pemautan statik digunakan secara lalai. Ini akan menyebabkan sejumlah besar fail perpustakaan dan data dibenamkan dalam fail binari golang, mengakibatkan peningkatan saiz.
Disebabkan sokongan merentas platform golang, berbilang fail binari akan dijana semasa penyusunan, mengakibatkan peningkatan dalam keseluruhan program saiz.
Ciri rantai alat kompilasi Golang, seperti pengoptimuman kod, inlining dan fungsi lain, menyebabkan pengkompil menghasilkan banyak maklumat berlebihan dalam fail binari Ini adalah salah satu sebab mengapa fail yang disusun terlalu besar.
2. Penyelesaian
Atas sebab-sebab yang dinyatakan di atas, kami boleh mengambil langkah berikut untuk mengurangkan saiz fail yang disusun golang:
Apabila menyusun atur cara golang, anda boleh mendayakan fungsi cgo dengan menetapkan CGO_ENABLED=1, mencapai keserasian dengan pemautan dinamik. Dengan cara ini, program boleh memautkan perpustakaan yang diperlukan secara dinamik semasa penyusunan, dengan itu mengelakkan penjanaan fail berlebihan dan dengan itu mengurangkan saiz fail.
Dengan mengoptimumkan parameter bendera pengkompil, pengkompil boleh menggunakan penjanaan kod dan pilihan kompilasi yang sesuai untuk mengurangkan saiz program. Sebagai contoh, menggunakan arahan -O untuk membolehkan pengoptimuman kod boleh mengurangkan saiz program menggunakan perintah -ldflags="-w -s" untuk memadamkan simbol penyahpepijatan dan mesej ralat dalam program juga boleh mengurangkan saiz fail yang disusun.
Menggunakan alatan sumber terbuka seperti upx untuk memampatkan fail program boleh mengurangkan saiz fail dengan berkesan. upx ialah alat pemampatan fail boleh laku mudah alih, cekap, boleh dipindahkan yang menyokong banyak sistem pengendalian dan seni bina CPU. Menggunakan fail binari yang dimampatkan upx, data dalam perpustakaan dan program kongsi boleh dimuatkan secara dinamik ke dalam memori apabila digunakan, mengurangkan beban operasi I/O dan dengan itu meningkatkan kecekapan berjalan program.
Pilih versi rantai alat kompilasi yang sesuai semasa menyusun, contohnya, gunakan go1.11.x-rc1 atau lebih tinggi penyusunan boleh mengurangkan saiz fail yang disusun. Kerana versi ini mempunyai banyak pembetulan pepijat, termasuk pembetulan yang mengurangkan saiz kompilasi dengan berkesan.
3. Ringkasan
Golang ialah bahasa penyusunan yang sangat baik, tetapi ia terdedah kepada masalah saiz yang berlebihan semasa penyusunan. Artikel ini menganalisis sebab fail yang disusun golang terlalu besar dan menyediakan penyelesaian yang sepadan. Oleh itu, apabila kita menggunakan golang untuk pembangunan dan penyusunan, kita mesti mengawal dan mengoptimumkan volum kompilasinya, supaya program kita boleh menjadi lebih cekap dan boleh dipercayai, dan kecekapan pembangunan kita boleh dipertingkatkan.
Atas ialah kandungan terperinci kompilasi golang terlalu besar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!