cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanJawapan Teknikal: Mekanisme Perlaksanaan JavaScript

Artikel ini membawakan kepada anda beberapa isu yang berkaitan dengan mekanisme pelaksanaan dalam JavaScript Sama ada kerja atau temu duga, kita mungkin sering menghadapi senario di mana kita perlu mengetahui susunan pelaksanaan kod tersebut .

Jawapan Teknikal: Mekanisme Perlaksanaan JavaScript

Proses dan Benang

Kita semua tahu bahawa teras komputer ialah CPU, yang menganggap Ia mengendalikan semua tugas pengkomputeran adalah pengurus komputer, yang bertanggungjawab untuk penjadualan tugas, peruntukan sumber dan pengurusan, dan memerintah seluruh perkakasan komputer program adalah program dengan fungsi tertentu, dan program dijalankan pada sistem pengendalian.

Proses

Proses ialah proses pelaksanaan dinamik program dengan fungsi bebas pada set data Unit bebas untuk peruntukan sumber dan penjadualan dalam sistem Ia adalah pembawa untuk aplikasi berjalan. Proses adalah unit terkecil yang boleh memiliki sumber dan berjalan secara bebas.

Ciri-ciri proses:

  • Dinamik: Proses ialah proses pelaksanaan program ia bersifat sementara, mempunyai jangka hayat dan dijana secara dinamik.

  • Selaras: sebarang proses boleh dilaksanakan serentak dengan proses lain; unit bebas peruntukan dan penjadualan;

  • Struktur: Proses ini terdiri daripada tiga bahagian: program, data dan blok kawalan proses.

  • Benang

Benang ialah proses kawalan berjujukan tunggal dalam pelaksanaan program dan unit terkecil aliran pelaksanaan program , ialah unit asas penjadualan dan penghantaran pemproses. Sesuatu proses boleh mempunyai satu atau lebih utas, dan setiap utas berkongsi ruang memori program (iaitu, ruang memori proses). Benang standard terdiri daripada ID benang, penunjuk arahan semasa (PC), daftar dan tindanan. Proses ini terdiri daripada ruang ingatan (kod, data, ruang proses, fail terbuka) dan satu atau lebih benang. Perbezaan antara proses dan utas

Thread ialah unit terkecil pelaksanaan program, manakala proses ialah unit terkecil peruntukan sumber oleh sistem pengendalian;

  • Proses terdiri daripada satu atau lebih utas ialah laluan pelaksanaan kod yang berbeza dalam proses; benang di bawah proses yang sama Ruang memori program (termasuk segmen kod, set data, timbunan, dsb.) dan beberapa sumber peringkat proses (seperti fail terbuka dan isyarat) dikongsi antara mereka, dan proses tidak dapat dilihat oleh setiap lain;

  • Penjadualan dan penukaran: Penukaran konteks benang jauh lebih cepat daripada penukaran konteks proses.

  • Mengapa JS benang tunggal?
  • JavaScript telah menjadi bahasa skrip penyemak imbas sejak kelahirannya Ia digunakan terutamanya untuk mengendalikan interaksi pengguna dan mengendalikan DOM Ini menentukan bahawa ia hanya boleh menjadi satu utas, jika tidak ia akan Membawa isu penyegerakan yang sangat kompleks.
Contohnya: Jika JS berbilang benang, satu utas mahu mengubah suai elemen DOM dan satu lagi urutan mahu memadamkan elemen DOM, maka penyemak imbas tidak tahu siapa yang hendak didengari. Oleh itu, untuk mengelakkan kerumitan, JavaScript telah direka bentuk untuk menjadi satu benang sejak ia dilahirkan.

Untuk memanfaatkan kuasa pengkomputeran CPU berbilang teras, HTML5 mencadangkan piawaian Pekerja Web, yang membenarkan skrip JavaScript mencipta berbilang rangkaian, tetapi urutan anak dikawal sepenuhnya oleh utas utama dan mesti tidak mengendalikan DOM. Oleh itu, piawaian baharu ini tidak mengubah sifat satu benang JavaScript

Prinsip Pelayar

Sebagai jurutera bahagian hadapan, pelayar mesti biasa kepada anda , dan penyemak imbas adalah berbilang proses.

Komponen penyemak imbas

Antara muka pengguna: termasuk bar alamat, ke hadapan/belakang/refresh/penanda halaman

Enjin penyemak imbas: menghantar arahan antara antara muka pengguna dan enjin pemaparan

  • Enjin pemaparan: digunakan untuk melukis kandungan yang diminta

  • Rangkaian: digunakan untuk menyelesaikan panggilan rangkaian, seperti permintaan http, ia mempunyai antara muka bebas platform dan boleh berfungsi pada platform yang berbeza

  • JavaScript penterjemah: digunakan Parse dan laksanakan JavaScript kod

  • Halaman belakang antara muka pengguna: digunakan untuk melukis widget asas, seperti kotak kombo dan tingkap, dan antara muka pengguna asas sistem pengendalian

  • Storan data: Ia tergolong dalam lapisan kegigihan Penyemak imbas menyimpan pelbagai data yang serupa dengan kuki pada cakera keras HTML5 mentakrifkan teknologi pangkalan data web, yang merupakan teknologi storan sisi pelanggan yang ringan dan lengkap

  • .
  • Nota: Tidak seperti kebanyakan penyemak imbas, setiap tab dalam Google Chrome sepadan dengan contoh enjin pemaparan. Setiap tab ialah proses bebas

  • Apakah proses yang terkandung dalam penyemak imbas?

Proses penyemak imbas

Proses utama pelayar (bertanggungjawab untuk penyelarasan dan kawalan), hanya ada satu proses

  • bertanggungjawab untuk memaparkan antara muka penyemak imbas dan berinteraksi dengan pengguna. Seperti ke hadapan, ke belakang, dsb.

  • bertanggungjawab untuk pengurusan setiap halaman, mencipta dan memusnahkan proses lain

  • akan disimpan dalam memori yang diperolehi oleh proses pemaparan (Renderer) Bitmap (bitmap), ditarik ke antara muka pengguna

  • Pengurusan sumber rangkaian, muat turun, dll.

  • Proses pemalam pihak ketiga

    Bertanggungjawab mengurus pemalam pihak ketiga

    proses GPU

    Bertanggungjawab untuk pemaparan 3D dan pecutan perkakasan (paling banyak satu)

    Proses pemaparan

    bertanggungjawab untuk penghuraian, pelaksanaan dan pemaparan dokumen halaman

    Urutan apakah yang termasuk dalam proses pemaparan

    benang pemaparan GUI

    Terutamanya bertanggungjawab untuk menghuraikan HTML, CSS, membina DOM pokok, susun atur, lukisan, dsb.

    Urutan ini saling eksklusif dengan utas enjin JavaScript Apabila enjin JavaScript dijalankan, utas pemaparan GUI akan digantung Apabila baris gilir tugasan melahu, yang utama benang akan melaksanakan pemaparan GUI

    Benang enjin JavaScript

    bertanggungjawab terutamanya untuk memproses skrip JavaScript , melaksanakan kod (seperti enjin V8)

    Pelayar hanya boleh mempunyai satu benang enjin JS yang menjalankan program JS pada masa yang sama, iaitu, JS berbenang tunggal

    Benang enjin JS dan benang pemaparan GUI adalah saling eksklusif Ditolak, jadi enjin JS akan menyekat pemaparan halaman

    Benang pencetus masa

    Bertanggungjawab untuk melaksanakan fungsi pemasa (setTimeout, setInterval)

    Pelayar Pembilang pemasaan tidak dikira oleh enjin JS (kerana JS adalah single-threaded, jika ia disekat, ia akan menjejaskan ketepatan kaunter)

    Masa dan mencetuskan pemasaan melalui benang yang berasingan (selepas pemasaan selesai, tambahkannya ke Sekiranya berlaku baris gilir urutan pencetus peristiwa, tunggu enjin JS melahu dan laksanakan). kurang daripada 4ms Selang masa dikira sebagai 4ms

    Benang pencetus peristiwa

    bertanggungjawab untuk menyerahkan acara yang disediakan kepada benang enjin JS untuk dilaksanakan

    Apabila peristiwa dicetuskan, Urutan ini akan menambah acara yang sepadan pada penghujung baris gilir untuk diproses, menunggu enjin JS memproses

    Benang permintaan tak segerak

    Selepas sambungan XMLHttpRequest, penyemak imbas akan membuka apabila utas

    mengesan perubahan status permintaan, jika terdapat fungsi panggil balik yang sepadan, utas permintaan tak segerak akan menjana peristiwa perubahan status dan meletakkan fungsi panggil balik yang sepadan ke dalam baris gilir untuk menunggu enjin JS melaksanakan

    Penyegerakan dan tak segerakMemandangkan JavaScript adalah satu benang, ini menentukan bahawa tugasnya tidak boleh hanya menjadi tugas segerak Jika tugasan yang mengambil masa yang lama juga Melaksanakan tugas segerak akan menyebabkan penyekatan halaman, jadi tugas JavaScript biasanya dibahagikan kepada dua kategori:

    Tugasan segerak

    Tugasan segerak rujuk pada utas utama Untuk tugasan beratur untuk pelaksanaan, tugasan seterusnya hanya boleh dilaksanakan selepas tugasan sebelumnya telah dilaksanakan; . dilaksanakan akan tugas memasuki utas utama untuk pelaksanaan.

    Tugas tak segerak biasa: pemasa, ajax, pengikatan acara, fungsi panggil balik, janji, async menanti, dsb.

    Tugas segerak dan tak segerak masing-masing memasukkan pelaksanaan berbeza" "Tempatkan ", masukkan utas utama secara serentak, masukkan Jadual Acara secara tidak segerak dan daftarkan fungsi.

    Apabila perkara yang dinyatakan dalam Jadual Acara selesai, fungsi ini akan dialihkan ke Barisan Acara.

    • Tugas dalam utas utama kosong selepas pelaksanaan.

    • Proses di atas akan diulang secara berterusan, yang selalunya dipanggil Event Loop.

    • Kami tidak boleh tidak bertanya, bagaimana kami tahu bahawa timbunan pelaksanaan utas utama kosong? Terdapat proses pemantauan dalam enjin js, yang akan memeriksa secara berterusan sama ada tindanan pelaksanaan utas utama kosong Setelah ia kosong, ia akan pergi ke Baris Gilir Acara untuk menyemak sama ada terdapat fungsi yang menunggu untuk dipanggil.

    • Tugas makro dan tugas mikro
    • Selain tugas segerak dan tugas tak segerak dalam erti kata yang luas, JavaScript juga mempunyai tugas yang lebih terperinci Takrifan tugas:

    Makro-tugas: termasuk kod global, setTimeout, setInterval

    Micro-task : new Promise() .then(callback) process.nextTick()

    • Jenis tugasan yang berbeza akan memasuki baris gilir tugas yang berbeza:

    • Turutan gelung acara menentukan susunan pelaksanaan kod js. Selepas memasukkan kod keseluruhan (tugas makro), kitaran pertama bermula. Kemudian laksanakan semua tugas mikro. Kemudian mulakan dari tugas makro sekali lagi, cari salah satu baris gilir tugasan untuk dilaksanakan, dan kemudian laksanakan semua tugasan mikro.

    Timbunan Pelaksanaan dan Barisan Tugasan

    Jawapan Teknikal: Mekanisme Perlaksanaan JavaScript

    Timbunan Pelaksanaan

    Kod JavaScript dilaksanakan dalam konteks pelaksanaan Terdapat tiga konteks pelaksanaan dalam JavaScript:

    • Konteks pelaksanaan global

    • Konteks Pelaksanaan Fungsi. , apabila fungsi JS dipanggil, konteks pelaksanaan fungsi akan dibuat

    • konteks pelaksanaan eval, konteks yang dijana oleh fungsi eval (kurang digunakan)

    Secara umumnya, kod JS kami mempunyai lebih daripada satu konteks, jadi apakah susunan pelaksanaan konteks ini?

    Kita semua tahu bahawa tindanan ialah struktur data yang masuk dahulu dan tolaknya Apabila panggilan fungsi ditemui, konteks pelaksanaan fungsi dijana dan ditolak ke tindanan pelaksanaan. Enjin mula melaksanakan fungsi dari bahagian atas timbunan, dan konteks pelaksanaan akan muncul selepas pelaksanaan.

    function add(){
      console.log(1)
      foo()
      console.log(3)
    }
    function foo(){
      console.log(2)
    }
    add()

    Mari kita lihat rupa susunan pelaksanaan kod di atas:

    Jawapan Teknikal: Mekanisme Perlaksanaan JavaScript

    Baris Gilir Tugas

    Seperti yang kami nyatakan sebelum ini, semua tugasan dalam JavaScript dibahagikan kepada tugasan segerak dan tugasan tak segerak, seperti namanya, adalah tugasan yang dilaksanakan serta-merta untuk pelaksanaan. Tugas tak segerak kami memasuki baris gilir tugas dan menunggu tugasan dalam utas utama dilaksanakan sebelum melaksanakannya.

    Baris gilir tugas ialah baris gilir acara, menunjukkan bahawa tugas tak segerak yang berkaitan boleh memasuki tindanan pelaksanaan. Benang utama membaca baris gilir tugas untuk membaca peristiwa di dalamnya.

    Baris gilir ialah struktur data masuk dahulu keluar dahulu.

    Kami menyebut di atas bahawa tugas tak segerak boleh dibahagikan kepada tugas makro dan tugas mikro, jadi baris gilir tugas juga boleh dibahagikan kepada baris gilir tugas makro dan baris gilir tugas mikro

    • Macrotask Baris gilir : Jalankan kerja yang agak besar, yang biasa termasuk setTimeout, setInterval, interaksi pengguna, pemaparan UI, dll.; . nextTick;

    • Event-Gelung

    Tugasan segerak dimasukkan terus ke dalam urutan utama untuk dilaksanakan, secara tak segerak (klik acara, pemasa, ajax, dll.) tergantung di latar belakang untuk pelaksanaan, menunggu acara I/O selesai atau peristiwa tingkah laku dicetuskan. Sistem melaksanakan tugas tak segerak di latar belakang Jika peristiwa tugas tak segerak (atau peristiwa tingkah laku dicetuskan), tugas itu akan ditambahkan pada baris gilir tugas dan setiap tugas akan diproses oleh fungsi panggil balik.

    Tugas tak segerak di sini dibahagikan kepada tugasan makro dan tugasan mikro memasuki baris gilir tugasan makro, dan tugasan mikro memasuki baris gilir tugasan mikro.

    Tugas dalam baris gilir tugas pelaksanaan diselesaikan secara khusus dalam timbunan pelaksanaan Apabila semua tugasan dalam urutan utama dilaksanakan, baca baris gilir tugasan mikro, semuanya akan selesai dilaksanakan, dan kemudian pergi Membaca baris gilir tugas makro

    Proses di atas akan diulang secara berterusan, yang sering kita panggil gelung peristiwa (Gelung Peristiwa).

    Contoh pengesahan soalan

    Jawapan Teknikal: Mekanisme Perlaksanaan JavaScriptMari kita lihat soalan untuk pengesahan

    Tempahan cetakan ialah: 1,4,5 ,2 ,6,3,7,setTimeout1,setTimeout2

    Analisis:
    (async ()=>{
        console.log(1) 
      
        setTimeout(() => {
        console.log('setTimeout1')
        }, 0);
      
        function foo (){
            return new Promise((res,rej) => {
                console.log(2)
                res(3)
            })
        }
      
        new Promise((resolve,reject)=>{
        console.log(4)
        resolve() 
        console.log(5)
        }).then(()=> {
        console.log('6')
        })
      
        const res = await foo();
        console.log(res);
        console.log('7')
      
        setTimeout(_ => console.log('setTimeout2'))
    })()

    Kod ini dilaksanakan dari atas ke bawah untuk pertama kalinya menemui console.log(1), mencetak 1 secara langsung dan kemudian menemui pemasa Ia tergolong dalam tugasan makro Ia dimasukkan ke dalam baris gilir tugasan makro

    dan kemudiannya menemui janji Oleh kerana Janji baharu ialah tugasan segerak, ia mencetak 4 secara langsung. yang merupakan fungsi seterusnya, ia dimasukkan ke dalam baris gilir tugasan mikro, kemudian cetak 5

    dan kemudian laksanakan await foo. Janji baharu adalah tugasan segerak dicetak terus. menunggu mengembalikan panggilan balik janji, dan tugasan selepas menunggu dimasukkan ke dalam mikro Barisan tugasan

    akhirnya menemui pemasa dan meletakkannya ke dalam baris gilir tugasan makro

    tugas tindanan selesai, mula-mula pergi ke baris gilir tugas mikro untuk mendapatkan pelaksanaan tugas mikro, dan laksanakan tugas mikro pertama dahulu Cetak 6, kemudian laksanakan tugas mikro kedua, cetak 3, 7

    Selepas tugasan mikro. dilaksanakan, pergi ke baris gilir macrotask untuk mendapatkan pelaksanaan macrotask, cetak setTimeout1, setTimeout2

    [Cadangan berkaitan:

    tutorial pembelajaran javascript

    ]

    Atas ialah kandungan terperinci Jawapan Teknikal: Mekanisme Perlaksanaan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan
    Artikel ini dikembalikan pada:掘金. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
    React: asas untuk pembangunan frontend modenReact: asas untuk pembangunan frontend modenApr 19, 2025 am 12:23 AM

    React adalah perpustakaan JavaScript untuk membina aplikasi front-end moden. 1. Ia menggunakan komponen dan maya DOM untuk mengoptimumkan prestasi. 2. Komponen menggunakan JSX untuk menentukan, menyatakan dan atribut untuk menguruskan data. 3. Cangkuk memudahkan pengurusan kitaran hidup. 4. Gunakan Contextapi untuk menguruskan status global. 5. Kesilapan biasa memerlukan kemas kini status debugging dan kitaran hayat. 6. Teknik pengoptimuman termasuk memoisasi, pemisahan kod dan menatal maya.

    Masa Depan React: Trend dan Inovasi dalam Pembangunan WebMasa Depan React: Trend dan Inovasi dalam Pembangunan WebApr 19, 2025 am 12:22 AM

    Masa depan React akan memberi tumpuan kepada pembangunan komponen utama, pengoptimuman prestasi dan integrasi yang mendalam dengan susunan teknologi lain. 1) React akan memudahkan penciptaan dan pengurusan komponen dan mempromosikan perkembangan komponen utama. 2) Pengoptimuman prestasi akan menjadi tumpuan, terutamanya dalam aplikasi besar. 3) React akan disepadukan dengan teknologi seperti GraphQL dan TypeScript untuk meningkatkan pengalaman pembangunan.

    React: Alat yang berkuasa untuk membina komponen UIReact: Alat yang berkuasa untuk membina komponen UIApr 19, 2025 am 12:22 AM

    React adalah perpustakaan JavaScript untuk membina antara muka pengguna. Idea terasnya ialah membina UI melalui komponen. 1. Komponen adalah unit asas React, merangkumi logik dan gaya UI. 2. DOM maya dan pengurusan negeri adalah kunci kepada kerja komponen, dan keadaan dikemas kini melalui setstate. 3. Siklus hidup termasuk tiga peringkat: gunung, kemas kini dan nyahpasang. Prestasi ini boleh dioptimumkan dengan menggunakan munasabah. 4. Gunakan UseState dan Contextapi untuk menguruskan negara, meningkatkan kebolehgunaan semula komponen dan pengurusan negara global. 5. Kesilapan biasa termasuk kemas kini status yang tidak betul dan isu -isu prestasi, yang boleh disahpepijat melalui ReactDevTools. 6. Cadangan Pengoptimuman Prestasi termasuk menggunakan memo, mengelakkan penyampaian semula yang tidak perlu, dan menggunakan kami

    Menggunakan React dengan HTML: Komponen dan data renderingMenggunakan React dengan HTML: Komponen dan data renderingApr 19, 2025 am 12:19 AM

    Menggunakan HTML untuk membuat komponen dan data dalam React dapat dicapai melalui langkah -langkah berikut: Menggunakan sintaks JSX: React menggunakan sintaks JSX untuk membenamkan struktur HTML ke dalam kod JavaScript, dan mengendalikan DOM selepas penyusunan. Komponen digabungkan dengan HTML: Komponen React meluluskan data melalui props dan secara dinamik menghasilkan kandungan HTML, seperti. Pengurusan Aliran Data: Aliran data React adalah satu arah, diluluskan dari komponen induk kepada komponen kanak-kanak, memastikan aliran data dapat dikawal, seperti komponen aplikasi yang melewati nama untuk menyambut. Contoh penggunaan asas: Gunakan fungsi peta untuk membuat senarai, anda perlu menambah atribut utama, seperti membuat senarai buah. Contoh Penggunaan Lanjutan: Gunakan Hook UseState untuk menguruskan negeri dan melaksanakan dinamik

    Tujuan React: Membina Aplikasi Single-Page (SPA)Tujuan React: Membina Aplikasi Single-Page (SPA)Apr 19, 2025 am 12:06 AM

    React adalah alat pilihan untuk membina aplikasi satu halaman (SPA) kerana ia menyediakan cara yang cekap dan fleksibel untuk membina antara muka pengguna. 1) Pembangunan Komponen: Split kompleks UI ke bahagian yang bebas dan boleh diguna semula untuk meningkatkan kebolehpercayaan dan kebolehgunaan semula. 2) DOM Maya: Mengoptimumkan prestasi rendering dengan membandingkan perbezaan antara DOM maya dan DOM sebenar. 3) Pengurusan Negeri: Menguruskan aliran data melalui negeri dan atribut untuk memastikan konsistensi dan kebolehprediksi data.

    React: Kekuatan perpustakaan JavaScript untuk pembangunan webReact: Kekuatan perpustakaan JavaScript untuk pembangunan webApr 18, 2025 am 12:25 AM

    React adalah perpustakaan JavaScript yang dibangunkan oleh Meta untuk membina antara muka pengguna, dengan terasnya menjadi pembangunan komponen dan teknologi DOM maya. 1. Komponen dan Pengurusan Negeri: React menguruskan keadaan melalui komponen (fungsi atau kelas) dan cangkuk (seperti UseState), meningkatkan kebolehgunaan semula kod dan penyelenggaraan. 2. DOM maya dan pengoptimuman prestasi: Melalui DOM maya, bereaksi dengan cekap mengemas kini DOM sebenar untuk meningkatkan prestasi. 3. Kitaran Hidup dan Cangkuk: Cangkuk (seperti Useeffect) membolehkan komponen fungsi menguruskan kitaran hayat dan melakukan operasi kesan sampingan. 4. Contoh Penggunaan: Dari Komponen Helloworld Asas ke Pengurusan Negeri Global Lanjutan (USEContext dan

    Ekosistem React: Perpustakaan, Alat, dan Amalan TerbaikEkosistem React: Perpustakaan, Alat, dan Amalan TerbaikApr 18, 2025 am 12:23 AM

    Ekosistem React termasuk perpustakaan pengurusan negeri (seperti redux), perpustakaan penghalaan (seperti reactrouter), perpustakaan komponen UI (seperti bahan-UI), alat ujian (seperti jest), dan alat bangunan (seperti webpack). Alat ini bekerjasama untuk membantu pemaju membangun dan mengekalkan aplikasi dengan cekap, meningkatkan kualiti kod dan kecekapan pembangunan.

    Pembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifPembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifApr 18, 2025 am 12:23 AM

    React adalah perpustakaan JavaScript yang dibangunkan oleh Facebook untuk membina antara muka pengguna. 1. Ia mengamalkan teknologi DOM komponen dan maya untuk meningkatkan kecekapan dan prestasi pembangunan UI. 2. Konsep teras React termasuk komponenisasi, pengurusan negeri (seperti useState dan useeffect) dan prinsip kerja dom maya. 3. 4. Kesilapan umum seperti melupakan untuk menambah atribut utama atau kemas kini status yang salah boleh didebitkan melalui ReactDevTools dan log. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan react.memo, segmentasi kod dan menyimpan kod yang boleh dibaca dan mengekalkan kebolehpercayaan

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Alat panas

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Dreamweaver Mac版

    Dreamweaver Mac版

    Alat pembangunan web visual

    Muat turun versi mac editor Atom

    Muat turun versi mac editor Atom

    Editor sumber terbuka yang paling popular

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    MinGW - GNU Minimalis untuk Windows

    MinGW - GNU Minimalis untuk Windows

    Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.