Pertanyaan yang diberi tag «c»

C adalah bahasa pemrograman tujuan umum yang digunakan untuk pemrograman sistem (OS dan tertanam), perpustakaan, game, dan lintas-platform. Tag ini harus digunakan dengan pertanyaan umum tentang bahasa C, sebagaimana didefinisikan dalam standar ISO 9899 (versi terbaru, 9899: 2018, kecuali ditentukan lain - juga tag permintaan versi khusus dengan c89, c99, c11, dll). C berbeda dari C ++ dan tidak boleh digabungkan dengan tag C ++ tanpa alasan yang rasional.

3
Kemungkinan bug GCC saat mengembalikan struct dari suatu fungsi
Saya yakin saya menemukan bug di GCC saat menerapkan O'Neill's PCG PRNG. ( Kode awal pada Penjelajah Kompiler Godbolt ) Setelah dikalikan oldstatedengan MULTIPLIER, (hasil disimpan dalam rdi), GCC tidak menambahkan hasil itu ke INCREMENT, INCREMENTsebagai gantinya pindah ke rdx, yang kemudian digunakan sebagai nilai pengembalian rand32_ret.state Contoh direproduksi minimum …
133 c  gcc  assembly  x86-64  compiler-bug 


18
Kapan ada orang yang menggunakan serikat pekerja? Apakah ini sisa dari hari C-only?
Saya telah belajar tetapi tidak benar-benar mendapatkan serikat pekerja. Setiap teks C atau C ++ yang saya lalui memperkenalkan mereka (kadang-kadang secara sepintas), tetapi mereka cenderung memberikan sedikit contoh praktis mengapa atau di mana menggunakannya. Kapan serikat akan berguna dalam kasus modern (atau bahkan warisan)? Hanya dua tebakan saya yang …
133 c++  c  unions 

3
Bagaimana cara mencetak uint64_t? Gagal dengan: "jejak palsu '%' dalam format"
Saya menulis kode uji printf uint64_t yang sangat sederhana: #include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; } Saya menggunakan ubuntu 11.10 (64 bit) dan gcc versi 4.6.1 untuk mengkompilasinya, tetapi gagal: main.cpp: In function ‘int main()’: main.cpp:9:30: …
133 c++  c 

16
Windows threading: _beginthread vs _beginthreadex vs CreateThread C ++
Apa cara yang lebih baik untuk memulai utas _beginthread,, _beginthreadxatau CreateThread? Saya mencoba menentukan apa kelebihan / kekurangan _beginthread, _beginthreadexdan CreateThread. Semua fungsi ini mengembalikan gagang utas ke utas yang baru dibuat, saya sudah tahu bahwa CreateThread memberikan sedikit informasi tambahan ketika terjadi kesalahan (bisa diperiksa dengan menelepon GetLastError) ... …
133 c++  c  multithreading  winapi 


6
Apakah ada fungsi tidur alternatif dalam C hingga milidetik?
Saya memiliki beberapa kode sumber yang dikompilasi di Windows. Saya mengonversinya untuk dijalankan di Red Hat Linux. Kode sumber telah menyertakan <windows.h>file header dan pemrogram telah menggunakan Sleep()fungsi untuk menunggu selama milidetik. Ini tidak akan berfungsi di Linux. Namun, saya bisa menggunakan sleep(seconds)fungsi, tetapi menggunakan integer dalam hitungan detik. Saya …
133 c  linux  sleep 

3
LLVM vs dentang pada OS X
Saya punya pertanyaan tentang llvm, dentang, dan gcc pada OS X. Apa perbedaan antara llvm-gcc 4.2, llvm 2.0 dan dentang? Saya tahu bahwa mereka semua membangun di atas llvm tetapi bagaimana mereka berbeda? Selain kompilasi yang lebih cepat, apa kelebihan llvm dibanding gcc?
133 c++  c  gcc  llvm  clang 



25
Mengapa ada yang menggunakan C lebih dari C ++? [Tutup]
Seperti yang ada saat ini, pertanyaan ini tidak cocok untuk format Tanya Jawab kami. Kami berharap jawaban didukung oleh fakta, referensi, atau keahlian, tetapi pertanyaan ini kemungkinan akan mengundang debat, argumen, polling, atau diskusi panjang. Jika Anda merasa bahwa pertanyaan ini dapat diperbaiki dan mungkin dibuka kembali, kunjungi pusat bantuan …
132 c++  c 

10
Cara Cepat untuk Menerapkan Kamus di C
Salah satu hal yang saya rindukan saat menulis program di C adalah struktur data kamus. Apa cara paling nyaman untuk mengimplementasikannya di C? Saya tidak mencari kinerja, tetapi kemudahan mengkodekannya dari awal. Saya tidak ingin menjadi generik juga - sesuatu seperti string-> int akan dilakukan. Tapi saya ingin bisa menyimpan …

13
Bagaimana cara membuat loop kosong tanpa batas yang tidak akan dioptimalkan?
Standar C11 tampaknya menyiratkan bahwa pernyataan iterasi dengan ekspresi kontrol konstan tidak boleh dioptimalkan. Saya menerima saran saya dari jawaban ini , yang secara khusus mengutip bagian 6.8.5 dari konsep standar: Pernyataan iterasi yang ekspresi pengontrolnya bukan ekspresi konstan ... dapat diasumsikan oleh implementasi untuk diakhiri. Dalam jawaban itu disebutkan …

19
Apakah lebih cepat untuk menghitung mundur daripada menghitung?
Guru sains komputer kami pernah mengatakan bahwa untuk beberapa alasan lebih efisien menghitung mundur daripada menghitung mundur. Sebagai contoh jika Anda perlu menggunakan loop UNTUK dan indeks loop tidak digunakan di suatu tempat (seperti mencetak garis N * ke layar) Maksud saya kode seperti ini: for (i = N; i …
131 c  performance  loops 


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.