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.

7
apa tipe data unsigned?
Saya telah melihat unsignedtipe "tanpa tipe" ini digunakan beberapa kali, tetapi tidak pernah melihat penjelasan untuk itu. Saya kira ada signedtipe yang sesuai . Berikut contohnya: static unsigned long next = 1; /* RAND_MAX assumed to be 32767 */ int myrand(void) { next = next * 1103515245 + 12345; return((unsigned)(next/65536) …
90 c  types  unsigned 

5
Kesalahan fatal GCC: stdio.h: File atau direktori tidak ada
Saya mencoba untuk mengkompilasi program di C pada OS X 10.9 dengan GCC 4.9 (percobaan). Untuk beberapa alasan, saya mendapatkan error berikut pada waktu kompilasi: gcc: fatal error: stdio.h: No such file or directory Saya kemudian mencoba program Hello World sederhana: #include <stdio.h> int main(int argc, const char *argv[]) { …
90 c  gcc  stdio 

4
Contoh C sederhana dalam melakukan HTTP POST dan memakan respons
Saya ingin membuat aplikasi C yang sangat sederhana yang melakukan posting HTTP. Ini akan mengambil beberapa parameter, dan menggunakannya untuk membuat URL. Saya hanya ingin melakukan HTTP POST sederhana dan mendapatkan respons tanpa menggunakan curl (pustaka tidak dan tidak akan diinstal pada mesin yang perlu dijalankan ini). Kode semu: Proses …
90 c  http  http-post 

10
Perbedaan antara const & const volatile
Jika kita mendeklarasikan variabel karena volatilesetiap kali nilai segar diperbarui Jika kita mendeklarasikan variabel sebagai constmaka nilai variabel itu tidak akan berubah Lalu const volatile int temp; Apa gunanya mendeklarasikan variabel tempseperti di atas? Apa yang terjadi jika kita mendeklarasikan sebagai const int temp?
90 c  embedded 

10
CMake tidak dapat menentukan bahasa penaut dengan C ++
Saya mencoba menjalankan program cmake hello world pada Windows 7 x64 dengan Visual Studio 2010 dan Cygwin, tetapi sepertinya tidak bisa keduanya bekerja. Struktur direktori saya adalah sebagai berikut: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ Saya melakukan cd builddiikuti dengan a cmake .., …
90 c++  c  cmake 

4
Bagaimana cara kerja Perpustakaan Impor? Detailnya?
Saya tahu ini mungkin tampak cukup mendasar bagi para geek. Tapi saya ingin membuatnya sangat jelas. Ketika saya ingin menggunakan Win32 DLL, biasanya saya hanya memanggil API seperti LoadLibrary () dan GetProcAdderss (). Tetapi baru-baru ini, saya mengembangkan dengan DirectX9, dan saya perlu menambahkan file d3d9.lib , d3dx9.lib , dll. …
90 c++  c  windows  visual-c++ 

3
Di mana orang dapat menemukan standar C89 / C90 dalam format PDF?
Saya mencari versi salinan gratis dari standar C89 / C90 , tetapi saya tidak dapat menemukannya di mana pun! Kenapa susah sekali menemukannya? Standar C99 dan C11 sangat mudah untuk mendapatkan salinannya di Internet. Bahkan dalam pertanyaan Stack Overflow Di mana saya dapat menemukan dokumen standar C atau C ++ …
90 c  ansi  c89 

6
Apakah kompiler menghasilkan kode yang lebih baik untuk perulangan do-while dibandingkan jenis perulangan lainnya?
Ada komentar di pustaka kompresi zlib (yang digunakan dalam proyek Chromium di antara banyak lainnya) yang menyiratkan bahwa loop do-while di C menghasilkan kode "lebih baik" pada sebagian besar kompiler. Berikut adalah potongan kode yang muncul. do { } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == *(ushf*)(match+=2) && *(ushf*)(scan+=2) == …

4
Mengapa memmove lebih cepat daripada memcpy?
Saya menyelidiki hotspot kinerja dalam sebuah aplikasi yang menghabiskan 50% waktunya di memmove (3). Aplikasi ini memasukkan jutaan integer 4-byte ke dalam array yang diurutkan, dan menggunakan memmove untuk menggeser data "ke kanan" untuk memberi ruang bagi nilai yang disisipkan. Harapan saya adalah menyalin memori sangat cepat, dan saya terkejut …
89 c++  c  performance  memory 

9
Mengapa a +++++ b tidak berfungsi?
int main () { int a = 5,b = 2; printf("%d",a+++++b); return 0; } Kode ini memberikan kesalahan berikut: error: lvalue diperlukan sebagai operan increment Tetapi jika saya meletakkan spasi di sepanjang a++ +dan ++b, maka itu berfungsi dengan baik. int main () { int a = 5,b = 2; …
89 c  lvalue 

7
Bagaimana kernel Linux mengkompilasi sendiri?
Saya tidak begitu mengerti proses kompilasi kernel Linux ketika saya menginstal sistem Linux di komputer saya. Berikut beberapa hal yang membuat saya bingung: Kernel ditulis dalam C, namun bagaimana kernel dapat dikompilasi tanpa kompilator diinstal? Jika kompilator C diinstal pada mesin saya sebelum kernel dikompilasi, bagaimana kompilator itu sendiri dapat …

3
Apa sebenarnya aturan "seolah-olah" itu?
Seperti judulnya, Apa sebenarnya aturan "seolah-olah" itu? Jawaban khas yang akan didapat adalah: Aturan yang memungkinkan setiap dan semua transformasi kode yang tidak mengubah perilaku program yang dapat diamati Dari waktu ke waktu kami terus mendapatkan perilaku dari implementasi tertentu yang dikaitkan dengan aturan ini. Berkali-kali salah. Jadi, apa sebenarnya …
89 c++  c  optimization  c++-faq  as-if 

14
Apakah tumpukan tumbuh ke atas atau ke bawah?
Saya memiliki potongan kode ini di c: int q = 10; int s = 5; int a[3]; printf("Address of a: %d\n", (int)a); printf("Address of a[1]: %d\n", (int)&a[1]); printf("Address of a[2]: %d\n", (int)&a[2]); printf("Address of q: %d\n", (int)&q); printf("Address of s: %d\n", (int)&s); Outputnya adalah: Address of a: 2293584 Address of …
89 c  memory  stack 

4
GDB: putus jika nilai variabel sama
Saya suka membuat GDB menetapkan titik istirahat ketika variabel sama dengan beberapa nilai yang saya tetapkan, saya mencoba contoh ini: #include <stdio.h> main() { int i = 0; for(i=0;i<7;++i) printf("%d\n", i); return 0; } Keluaran dari GDB: (gdb) break if ((int)i == 5) No default breakpoint address now. (gdb) run …
89 c  gdb 

4
Apakah definisi "volatile" ini tidak stabil, atau apakah GCC mengalami beberapa masalah kepatuhan standar?
Saya memerlukan fungsi yang (seperti SecureZeroMemory dari WinAPI) selalu memiliki memori nol dan tidak dapat dioptimalkan, bahkan jika kompiler berpikir bahwa memori tidak akan pernah diakses lagi setelah itu. Sepertinya kandidat yang sempurna untuk volatile. Namun saya mengalami beberapa masalah saat membuatnya berfungsi dengan GCC. Berikut ini contoh fungsinya: void …
89 c++  c  gcc  standards 

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.