golang tidak boleh dikompilasi. Sebab: Golang ialah bahasa statik yang disusun akan menghasilkan fail binari selepas penyusunan, dan fail binari ialah fail yang mengandungi arahan data atau program yang ditulis dalam ASCII dan aksara ASCII yang dilanjutkan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
golang tidak menyokong penyahkompilasi.
Sebab:
Bahasa Go ialah bahasa statik yang disusun, jadi sebelum menjalankan atur cara bahasa Go, ia mesti disusun menjadi dokumen boleh laku binari.
Golang akan menjana fail binari selepas penyusunan, dan fail binari ialah fail yang mengandungi data atau arahan program yang ditulis dalam ASCII dan aksara ASCII lanjutan Fail ini mengandungi format khas dan kod komputer, jadi ia tidak boleh dinyahkompilasi.
Faedah Fail Binari
Mengapa menggunakan fail binari. Mungkin terdapat tiga sebab:
Yang pertama ialah fail binari menjimatkan ruang, dan tiada perbezaan antara keduanya apabila menyimpan data aksara. Walau bagaimanapun, apabila menyimpan nombor, terutamanya nombor nyata, binari lebih menjimatkan ruang Contohnya, menyimpan data Sebenar*4: 3.1415927, fail teks memerlukan 9 bait, dan masing-masing menyimpan: 3. 1 4 1 5 9 2 7 9 ini. Nilai ASCII, manakala fail binari hanya memerlukan 4 bait (DB 0F 49 40)
Sebab kedua ialah data yang terlibat dalam pengiraan dalam ingatan disimpan dalam format binari tidak berformat, oleh itu, gunakan Simpanan binari ke fail adalah lebih pantas. Jika disimpan sebagai fail teks, proses penukaran diperlukan. Apabila jumlah data adalah besar, akan terdapat perbezaan kelajuan yang ketara antara kedua-duanya.
Ketiga, untuk sesetengah data yang agak tepat, menggunakan storan binari tidak akan menyebabkan kehilangan bit yang sah.
Cara menyimpan fail binari
Senaraikan fail binari seperti berikut:
00000000h:0F 01 00 00 0F 03 00 00 12 53 21 45 58 62 35 34; .........S!EXb54 00000010h:41 42 43 44 45 46 47 48 49 47 4B 4C 4D 4E 4F 50; ABCDEFGHIGKLMNOP
Yang disenaraikan di sini dilihat dalam UltraEdit (UE) kepada sesuatu. Malah, hanya bahagian merah adalah kandungan fail. Yang sebelumnya ialah nombor baris yang ditambah oleh UE. Yang berikut ialah rujukan yang cuba ditafsirkan oleh UE sebagai watak.
Fail ini berukuran 32 bait. Dipaparkan sebagai dua lajur 16 bait setiap satu. Sebenarnya, ini hanyalah paparan UE. Fail sebenar tidak mempunyai baris yang berasingan. Hanya mengetahui kandungan fail ini, jika kami tidak mempunyai sebarang penjelasan, kami tidak dapat melihat sebarang maklumat yang berguna.
Saya akan menetapkan penjelasan di bawah: Kami percaya bahawa 4 bait pertama ialah data integer 4-bait (0F 01 00 00 perenambelasan: 10Fh perpuluhan: 271). 4 bait selepas 4 bait ini ialah 4 bait lagi data integer (0F 03 00 00 heksadesimal: 30Fh perpuluhan: 783). 4 bait berikut (12 53 21 45) mewakili data sebenar 4 bait: 2.5811919E+3. 4 bait berikut (58 62 35 34) mewakili 4 bait lagi data pelaksanaan: 1.6892716E-7. Dan hanya 16 bait terakhir (41 42 43 44 45 46 47 48 49 47 4B 4C 4D 4E 4F 50) yang kami anggap sebagai rentetan 16 bait (ABCDEFGHIGKLMNOP)
Sebenarnya, fail binari data tanpa menyatakan jenis data Contohnya, bait ke-9 hingga bait ke-16 di atas (12 53 21 45 58 62 35 34), kami hanya fikir ia adalah dua jenis sebenar 4-bait, tetapi ia sebenarnya boleh Dianggap sebagai satu Jenis aksara 8-bait (S!EXb54). Rentetan 16-bait berikut (ABCDEFGHIGKLMNOP) juga boleh dianggap sebagai dua integer 8-bait, atau empat integer 4-bait, atau bahkan dua jenis sebenar 8-bait, dan empat jenis sebenar 4-bait, dsb.
Oleh itu, apabila berhadapan dengan fail binari, kita tidak dapat mengetahui dengan tepat maksudnya. Kami memerlukan penerangan tentang kaedah penyimpanan datanya. Perihalan ini memberitahu kami jenis data dari bait mana ke bait mana dan apakah maksud data yang disimpan. Jika tidak, kita hanya boleh meneka atau tidak berdaya.
[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]
Atas ialah kandungan terperinci Bolehkah golang didecompiled?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!