Questions tagged «c»

C是用于系统编程(OS和嵌入式),库,游戏和跨平台的通用编程语言。该标记应与ISO 9899标准(除非另有说明,最新版本9899:2018中定义的有关C语言的一般问题)一起使用-还要使用c89,c99,c11等标记特定于版本的请求。C与C ++截然不同,在没有合理理由的情况下,不应将其与C ++标记结合使用。

9
在哪里放置include语句,标题或源?
我应该将包含文件放在头文件还是源文件中?如果头文件包含include语句,那么如果我在源文件中包含该头文件,那么我的源文件中是否将包含头文件中的所有包含文件?还是仅将它们包括在源文件中?
106 c  header  include 



5
Linux:是否有超时的套接字读取或接收?
如何尝试在超时的情况下从套接字读取数据?我知道,选择,pselect,轮询具有超时字段,但是使用它们会禁用tcp reno堆栈中的“ tcp快速路径”。 我唯一的想法是在循环中使用recv(fd,...,MSG_DONTWAIT)
105 c  linux  sockets  tcp 

8
opengl:glFlush()与glFinish()
我在区分调用glFlush()和之间的实际区别方面遇到困难glFinish()。 该文档说glFlush(),并glFinish()将推所有缓存操作的OpenGL,这样一个可以放心,他们都将被执行,不同之处在于glFlush()将立即返回,在那里为glFinish()块,直到所有操作完成。 阅读了定义后,我发现如果使用该定义,glFlush()可能会遇到向OpenGL提交比其可执行的操作更多的问题。因此,尝试一下,我换了glFinish()一个glFlush()和一个,然后看,我的程序运行了(据我所知),完全一样。帧速率,资源使用情况,一切都一样。 所以我想知道这两个调用之间是否有很大区别,或者我的代码是否使它们运行没有区别。还是应该使用一个与另一个。我还认为OpenGL会调用一些命令glIsDone()来检查a的所有缓冲命令glFlush()是否完整(因此,向OpenGL发送操作的速度不会比执行它们快),但是我找不到这种功能。 我的代码是典型的游戏循环: while (running) { process_stuff(); render_stuff(); }
105 c++  c  opengl  graphics 


12
在C中构建一个简单的HTTP服务器
在这里很难说出要问什么。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,因此不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 我需要在C中构建一个简单的HTTP服务器。有什么指导吗?链接?样品?
105 c  httpserver 


9
C auto关键字在哪里使用?
在大学时代,我读到了有关auto关键字的信息,但随着时间的流逝,我实际上忘记了它的含义。它定义为: 将局部变量定义为具有局部生存期 我从来没有发现它在任何地方都在使用,它真的被使用过吗?
104 c 

16
清除char数组c
我认为通过将第一个元素设置为null会清除char数组的全部内容。 char my_custom_data[40] = "Hello!"; my_custom_data[0] = '\0'; 但是,这只会将第一个元素设置为null。 要么 my_custom_data[0] = 0; 而不是使用memset,我认为上述2个示例应清除所有数据。
104 c  arrays  char 

10
索引到结构是否合法?
不管代码有多“糟糕”,并假设对齐等在编译器/平台上都不是问题,这种未定义或破坏的行为是吗? 如果我有这样的结构:- struct data { int a, b, c; }; struct data thing; 它是合法的访问a,b并c作为(&thing.a)[0],(&thing.a)[1]和(&thing.a)[2]? 在每种情况下,我都会在每个编译器和平台上对其进行尝试,并在每个设置上对其进行“尝试”。我只是担心编译器可能不会意识到b和thing [1]是同一件事,并且存储到“ b”的内容可能会放在寄存器中,而thing [1]从内存中读取错误的值(例如)。在每种情况下,我都尝试过它做对了。(我当然知道并不能证明太多) 这不是我的代码;这是我必须使用的代码,我对这是不好的代码还是坏的代码很感兴趣,因为不同之处会影响我对其进行大量更改的优先级:) 标记为C和C ++。我主要是对C ++感兴趣,但对C也很感兴趣,只是出于兴趣。
104 c++  c  struct 

6
预处理后gcc可以输出C代码吗?
我正在使用一个开放源代码库,该库似乎具有很多预处理指令以支持除C之外的多种语言。因此,我可以研究该库的功能,希望看到预处理后要编译的C代码,更像是我写的东西。 gcc(或Linux中通常可用的任何其他工具)可以读取此库,但输出将预处理转换为人类可读性的C代码吗?

13
为什么数组参数的大小与main中的大小不同?
为什么作为参数发送的数组大小与main中的大小不同? #include <stdio.h> void PrintSize(int p_someArray[10]); int main () { int myArray[10]; printf("%d\n", sizeof(myArray)); /* As expected, 40 */ PrintSize(myArray);/* Prints 4, not 40 */ } void PrintSize(int p_someArray[10]){ printf("%d\n", sizeof(p_someArray)); }
104 c  arrays  function  sizeof 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.