Pertanyaan yang diberi tag c

47
(x | y) - y mengapa tidak bisa hanya x atau bahkan `x | 0`

Saya membaca kode kernel, dan di satu tempat saya melihat ekspresi di dalam ifpernyataan seperti if (value == (SPINLOCK_SHARED | 1) - 1) { ............ } di mana SPINLOCK_SHARED = 0x80000000konstanta yang ditentukan sebelumnya. Saya heran mengapa kita perlu (SPINLOCK_SHARED | 1) - 1- untuk...

42
Haruskah kode yang tidak aman ini berfungsi juga di .NET Core 3?

Saya refactoring perpustakaan saya untuk digunakan Span<T>untuk menghindari alokasi tumpukan jika mungkin tetapi karena saya juga menargetkan kerangka kerja yang lebih tua saya menerapkan beberapa solusi cadangan umum juga. Tapi sekarang saya menemukan masalah aneh dan saya tidak yakin apakah...

40
Mengapa alamat argc dan argv 12 byte terpisah?

Saya menjalankan program berikut di komputer saya (Intel 64-bit menjalankan Linux). #include <stdio.h> void test(int argc, char **argv) { printf("[test] Argc Pointer: %p\n", &argc); printf("[test] Argv Pointer: %p\n", &argv); } int main(int argc, char **argv) { printf("Argc...

34
Apakah algoritma strcasecmp cacat?

Saya mencoba menerapkan kembali strcasecmp fungsi dalam C dan saya perhatikan apa yang tampak sebagai inkonsistensi dalam proses perbandingan. Dari man strcmp Fungsi strcmp () membandingkan dua string s1 dan s2. Lokal tidak diperhitungkan (untuk perbandingan sadar-lokal, lihat strcoll (3)). Ini...

31
Apakah utas disalin saat memanggil garpu?

Jika saya memiliki program yang berjalan dengan utas dan memanggil fork()sistem berbasis unix, apakah utas disalin? Saya tahu bahwa memori virtual untuk proses saat ini disalin 1: 1 ke proses baru yang dihasilkan. Saya tahu bahwa utas memiliki tumpukan mereka sendiri dalam memori virtual suatu...

30
Apa yang disebut (...) dalam C dan C ++?

Salah satu kegunaan dari ...adalah untuk menunjukkan entitas variadic di C dan C ++. Apa namanya? Apakah itu diklasifikasikan sebagai operator atau sesuatu yang lain ketika digunakan dengan cara itu? Ada detail lain tentang ...? Sunting: Saya tahu tujuan .... Saya bertanya tentang nama dan...