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.

4
Printf pad kiri dengan spasi
Bagaimana cara mengisi string dengan spasi di sebelah kiri saat menggunakan printf? Misalnya, saya ingin mencetak "Halo" dengan 40 spasi sebelumnya. Juga, string yang ingin saya cetak terdiri dari beberapa baris. Apakah saya perlu mencetak setiap baris secara terpisah? EDIT: Untuk memperjelas, saya ingin tepat 40 spasi dicetak sebelum setiap …
114 c  formatting  printf 


5
Bingkai tumpukan rusak GDB - Bagaimana cara melakukan debug?
Saya memiliki jejak tumpukan berikut. Apakah mungkin untuk mengetahui sesuatu yang berguna dari ini untuk debugging? Program received signal SIGSEGV, Segmentation fault. 0x00000002 in ?? () (gdb) bt #0 0x00000002 in ?? () #1 0x00000001 in ?? () #2 0xbffff284 in ?? () Backtrace stopped: previous frame inner to this …
113 c  recursion  gdb 

7
C99 stdint.h header dan MS Visual Studio
Yang mengejutkan saya, saya baru saja menemukan bahwa C99 stdint.h hilang dari MS Visual Studio 2003 ke atas. Saya yakin mereka punya alasannya sendiri, tetapi adakah yang tahu di mana saya dapat mengunduh salinannya? Tanpa tajuk ini saya tidak memiliki definisi untuk jenis yang berguna seperti uint32_t, dll.
113 c++  c  visual-studio  c99 

9
Apakah 'int main;' program C / C ++ yang valid?
Saya bertanya karena kompiler saya tampaknya berpikir demikian, meskipun saya tidak. echo 'int main;' | cc -x c - -Wall echo 'int main;' | c++ -x c++ - -Wall Clang tidak mengeluarkan peringatan atau kesalahan dengan ini, dan gcc hanya mengeluarkan peringatan lemah lembut:, 'main' is usually a function [-Wmain]tetapi …
113 c++  c  function  main  entry-point 

7
Apa perbedaan antara vmalloc dan kmalloc?
Saya telah mencari-cari di Google dan menemukan kebanyakan orang menganjurkan penggunaan kmalloc, karena Anda dijamin mendapatkan blok memori fisik yang berdekatan. Namun, tampaknya juga kmallocdapat gagal jika blok fisik yang berdekatan yang Anda inginkan tidak dapat ditemukan. Apa keuntungan memiliki blok memori yang berdekatan? Secara khusus, mengapa saya perlu memiliki …


10
Apakah free (ptr) di mana ptr adalah NULL memori korup?
Secara teoritis saya bisa mengatakan itu free(ptr); free(ptr); adalah kerusakan memori karena kita membebaskan memori yang telah dibebaskan. Tapi bagaimana jika free(ptr); ptr=NULL; free(ptr); Karena OS akan berperilaku dengan cara yang tidak ditentukan, saya tidak bisa mendapatkan analisis teoritis aktual untuk ini tentang apa yang terjadi. Apapun yang saya lakukan, …

9
Mengapa membuang nilai pengembalian yang tidak terpakai ke batal?
int fn(); void whatever() { (void) fn(); } Apakah ada alasan untuk membuang nilai pengembalian yang tidak terpakai, atau apakah saya benar berpikir itu hanya membuang-buang waktu? Mengikuti: Sepertinya itu cukup komprehensif. Saya kira itu lebih baik daripada mengomentari nilai kembali yang tidak digunakan karena kode yang mendokumentasikan diri lebih …
112 c++  c  void 


19
#ifdef vs #if - mana yang lebih baik / lebih aman sebagai metode untuk mengaktifkan / menonaktifkan kompilasi bagian kode tertentu?
Ini mungkin masalah gaya, tetapi ada sedikit perbedaan dalam tim pengembang kami dan saya bertanya-tanya apakah ada orang lain yang punya ide tentang masalah ini ... Pada dasarnya, kami memiliki beberapa pernyataan cetak debug yang kami matikan selama pengembangan normal. Secara pribadi saya lebih suka melakukan hal berikut: //---- SomeSourceFile.cpp …

5
Di manakah PATH_MAX didefinisikan di Linux?
File header mana yang harus saya panggil #includeagar dapat menggunakan PATH_MAX sebagai int untuk mengukur string? Saya ingin bisa menyatakan: char *current_path[PATH_MAX]; Tetapi ketika saya melakukannya kompiler saya (Clang / LLVM di Linux) mengeluarkan kesalahan berikut: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ Saya mencoba melakukan pencarian …
112 c  linux  gcc  include  clang 


3
Makro standar apa yang dapat saya gunakan untuk mendeteksi dentang?
Saya mencoba mendeteksi kompiler yang digunakan untuk mengkompilasi kode sumber saya. Saya dapat dengan mudah menemukan makro yang telah ditentukan untuk memeriksa MSVC atau GCC (lihat http://predef.sourceforge.net/ misalnya), tetapi saya tidak dapat menemukan makro untuk memeriksa adanya dentang. Apakah seseorang tahu jika clang mendefinisikan makro seperti __CLANG__untuk mengetahui apa yang …


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.