Sejauh yang saya bisa lihat, banyak fungsi menggunakan variabel dengan panjang tetap. Ini memang berguna untuk fungsi yang perlu menangani format data tetap. Namun penyalahgunaan variabel fixed-length menyebabkan potensi kegagalan build dan cast yang tidak penting.
Misalnya di src/usb.c:
send_recv menerima txsize
dan rxsize
sebagai size_t
tetapi dalam konteks yang sebenarnya, argumen tersebut harus dilemparkan ke int
atau unsigned int
, tanpa panjang tetap, dan siapa pun yang menyebutnya memberikan argumen dari tipe yang berbeda( uint32_t
atau angka ajaib dalam kasus ini). cast yang tidak disengaja dari 32 bit ke 64 bit diterapkan pada proses pemanggilan. Selain itu, untuk mencegah kegagalan build, diperlukan banyak cast eksplisit.
Saya sarankan mengganti variabel panjang tetap sesuai dengan penggunaan sebenarnya.
Tetap fuzzy agar lebih portabel.
Saya ingin mencobanya jika orang lain menganggapnya bermakna.
Thx untuk memasukkan ini ke dalam agenda. Karena ini adalah masalah umum di seluruh basis kode, saya tidak yakin saat ini apakah kita harus langsung memasukkannya ke v1.6.1. @martonmiklos sebelumnya meminta untuk melakukan pembersihan terkait dengan gaya kode, yang saya dorong ke tonggak v1.6.2. Mungkin ini akan menjadi tempat yang baik untuk masalah ini juga, meskipun itu akan mendorongnya sedikit lebih jauh.
Mungkin saya bisa melakukan pembersihan secara lokal terlebih dahulu dan menindaklanjuti proses pengembangan.😃
Tentu saja Anda bisa, tetapi pastikan untuk bercabang dari develop
dan tetap mengikuti cabang ini, alih-alih master
, yang tidak lagi digunakan untuk perubahan yang sering, tetapi hanya untuk rilis dan perbaikan terbaru.
Sehubungan dengan kompatibilitas antara ILP32, LLP64 dan LP64 saya pikir itu akan menjadi ide yang baik untuk mengganti tipe data long
dengan int32_t
, tetapi jika seseorang ingin mengesampingkan kejutan di masa depan terkait dengan konversi, kami dapat mempertimbangkan untuk pindah ke tipe integer lebar tetap sedapat mungkin...
@chenguokai : Saya akan menyerahkan ini kepada Anda. Anda dapat berkontribusi, jika Anda suka dan punya waktu.
Tentu saya akan melakukannya, sebelum rilis. Mulai sibuk sekarang.