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.

8
Apa itu __stdcall?
Saya belajar tentang pemrograman Win32, dan WinMainprototipenya seperti: int WINAPI WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show ) Saya bingung untuk apa WINAPIpengidentifikasi ini dan menemukan: #define WINAPI __stdcall Apa fungsinya? Saya bingung dengan ini memiliki sesuatu setelah tipe kembali. Untuk apa __stdcall? Apa artinya ketika ada …


4
Di CMake, bagaimana saya bisa menguji apakah kompilernya Dentang?
Kami memiliki serangkaian skrip build CMake lintas-platform , dan kami mendukung pembangunan dengan Visual C ++ dan GCC . Kami mencoba Clang , tetapi saya tidak tahu bagaimana cara menguji apakah kompilernya Clang dengan skrip CMake kami. Apa yang harus saya uji untuk melihat apakah kompilernya Dentang atau tidak? Kami …
151 c++  c  cmake  clang 

10
Alternatif standar untuk trik ## __ VA_ARGS__ GCC?
Ada masalah terkenal dengan arg kosong untuk makro variadic di C99. contoh: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Penggunaan di BAR()atas memang salah menurut standar C99, karena akan diperluas ke: printf("this breaks!",); Perhatikan tanda koma - tidak bisa digunakan. Beberapa kompiler (mis: Visual …


4
Fungsi Panggilan Pergi dari C
Saya mencoba membuat objek statis yang ditulis dalam antarmuka Pergi dengan program C (katakanlah, modul kernel atau sesuatu). Saya telah menemukan dokumentasi tentang pemanggilan fungsi C dari Go, tetapi saya belum menemukan banyak tentang bagaimana cara sebaliknya. Apa yang saya temukan adalah mungkin, tetapi rumit. Inilah yang saya temukan: Posting …

4
Mengapa pemakan memori ini tidak benar-benar memakan memori?
Saya ingin membuat program yang akan mensimulasikan situasi out-of-memory (OOM) pada server Unix. Saya membuat pemakan memori yang sangat sederhana ini: #include <stdio.h> #include <stdlib.h> unsigned long long memory_to_eat = 1024 * 50000; size_t eaten_memory = 0; void *memory = NULL; int eat_kilobyte() { memory = realloc(memory, (eaten_memory * 1024) …


5
Cara membuat kompilasi dentang ke llvm IR
Saya ingin dentang untuk mengkompilasi C/C++kode saya untuk LLVMbytecode daripada biner dieksekusi. Bagaimana saya bisa mencapainya? Dan jika saya mendapatkan LLVMbytecode, bagaimana saya bisa membawanya ke kompilasi lebih lanjut ke biner yang dapat dieksekusi. Pada dasarnya saya ingin menambahkan beberapa kode saya sendiri ke LLVMbytecode sebelum dikompilasi ke binary executable.
150 c  llvm  clang 

12
Mengapa x [0]! = X [0] [0]! = X [0] [0] [0]?
Saya belajar sedikit C ++ dan saya bertarung dengan pointer. Saya mengerti bahwa saya dapat memiliki 3 level pointer dengan menyatakan: int *(*x)[5]; jadi itu *xadalah pointer ke array 5 elemen yang pointer ke int. Saya juga tahu itu x[0] = *(x+0);, x[1] = *(x+1)dan seterusnya .... Jadi, mengingat deklarasi …
149 c++  c  arrays  pointers 

17
Apa gunanya pointer pointer?
Saya tidak berbicara tentang pointer ke nilai const, tetapi pointer pointer sendiri. Saya belajar C dan C ++ di luar hal-hal yang sangat mendasar dan baru hari ini saya menyadari bahwa pointer diberikan nilai ke fungsi, yang masuk akal. Ini berarti bahwa di dalam suatu fungsi saya dapat membuat titik …
149 c++  c  pointers  const 

3
Menulis ke file .txt?
Bagaimana saya bisa menulis sepotong teks ke dalam .txtfile? Saya telah menelusuri Google selama lebih dari 3-4 jam, tetapi tidak dapat menemukan cara melakukannya. fwrite(); punya banyak argumen, dan saya tidak tahu bagaimana menggunakannya. Apa fungsi termudah untuk digunakan ketika Anda hanya ingin menulis nama dan beberapa angka ke .txtfile? …
149 c  linux 

8
Mengkonversi program Python ke kode C / C ++? [Tutup]
Ditutup . Pertanyaan ini perlu lebih fokus . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga berfokus pada satu masalah hanya dengan mengedit posting ini . Ditutup 3 tahun yang lalu . Perbaiki pertanyaan ini apakah mungkin untuk mengubah program Python ke C / C ++? …
149 c++  python  c  code-generation 


5
Mengapa kode ini rentan terhadap serangan buffer overflow?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } Kode ini rentan terhadap serangan buffer overflow, dan saya mencoba mencari tahu alasannya. Saya pikir ini ada hubungannya dengan lendinyatakan sebagai shortpengganti int, tapi saya tidak begitu yakin. …

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.