Rekayasa Perangkat Lunak

10
Mengapa struktur yang dikemas bukan bagian dari bahasa C?

Setiap kompiler C menawarkan opsi untuk "mengemas" struktur C (misalnya __attribute__ ((__packed__)), atau #pragma pack()). Sekarang, kita semua tahu bahwa pengemasan diperlukan, jika kita ingin mengirim atau menyimpan data dengan cara yang andal. Ini juga harus menjadi persyaratan sejak hari...

10
Kode mesin JIT dan bit Eksekusi Nonaktifkan

Bagaimana kode mesin yang dihasilkan runtime (seperti output dari JIT), sebenarnya dieksekusi oleh CPU jika CPU / OS memiliki bit Nonaktifkan Eksekusi? Sejauh yang saya tahu, banyak prosesor modern dan Sistem Operasi termasuk dukungan untuk NX bit, (termasuk Intel dan ARM), yang mesin mencegah...

10
Apa yang membuat kasus buruk untuk penyortiran cepat?

Saya belajar tentang quicksort dan ingin mengilustrasikan berbagai array yang sulit dimiliki quicksort. Quicksort yang saya pikirkan tidak memiliki pengocokan acak awal, partisi 2, dan tidak menghitung median. Saya memikirkan tiga contoh sejauh ini: [1,2,3,4,5,6,7,8,9,10] - when the array is...

10
Pindahkan semantik di C ++ - Pindahkan-kembali variabel lokal

Pemahaman saya adalah bahwa dalam C ++ 11, ketika Anda mengembalikan variabel lokal dari suatu fungsi dengan nilai, kompiler diperbolehkan untuk memperlakukan variabel itu sebagai r-nilai referensi dan 'memindahkannya keluar dari fungsi untuk mengembalikannya (jika RVO / NRVO tidak terjadi sebagai...

10
Haruskah pengirim acara selalu menjadi Objek generik?

Saat memprogram acara dalam C #, disarankan untuk membuat delegasi dalam bentuk: delegate XEventHandler(object sender, XEventArgs e); Pertanyaan saya ada pada argumen pertama delegasi object sender,. Apakah harus selalu menjadi generik object? Memiliki pengirim tipe objectselalu menghasilkan kode...

10
Pesan Antrian untuk RTOS untuk mikrokontroler

Saat ini saya sedang menulis RTOS untuk mikrokontroler. Semuanya ditulis dalam C ++ 11 - jika ada yang tertarik, dan tautan ke repositori ada di bagian bawah. Saat ini saya sedang menulis sebuah kelas yang merupakan antrian data sederhana untuk melewatkan objek di antara utas (atau antara penangan...